[Here's another long email; Ralph may want to skip it.] Hi Keith,
At 2021-10-23T22:07:27+0100, Keith Marshall via Groff-commit wrote: > Guys, > > I have no idea what's happened here! [...] > Well, I pulled, and updated my local tree, to capture Brandon's most > recent commits, then applied _one_ trivial ms patch, (which _should_ > have affected only tmac/s.tmac, and ChangeLog); how this push has > regurgitated around 50 of Branden's old commits is beyond me. It looks like you had a local, remote-tracking branch for dev-gropdf-boxes (which Bertrand created back in April or so). Recently, Deri landed that same work (sboxes) on master, ignoring the branch (a good move in my opinion, since the velocity of master is relatively high, I was taking a long time to finish the work I wanted to do on the branch, and rebasing on _any_ Savannah-hosted branch produces commit emails). On master, I cherry-picked some changes from the dev-gropdf-boxes branch and did my usual fixups, disposing of the items from the `BRANCH-TODO` file on the branch that I deemed still relevant. I then attempted to delete this branch, as it was neither up to date with master (getting it that way before closing it out would have meant a rebase, meaning another huge email blitz), nor needed any longer. However, I did not succeed in completely deleting the branch on Savannah--I though I had, since it no longer appeared alongside the 'master' and Knuth-Plass formatting branches on the Web UI. I _think_ what happened is that I managed to get the branch into a half-dead state on Savannah, but when I tried to push my branch deletion it _did_ manage to update with the state of my work as I had left it before I realized that my rebasing was going to cause a commit mail blitz. That discouraged me, and I left the work for later once I had decided what to do about the problem (which never happened). Fast forward to the past 24 hours. You probably "git --pull --rebase"d, and implicitly pulled all branches. You did your work and pushed...implicitly, _all_ branches. Apparently, this was enough to pull the writhing zombie of the dev-gropdf-boxes branch from its grave, and you got the dubious credit for (rebased) commits to the branch that I had done months before but not pushed until the last week. Today, after your mail, I have done this: $ git push --delete origin dev-gropdf-boxes To git.sv.gnu.org:/srv/git/groff.git - [deleted] dev-gropdf-boxes It _seems_ to be truly dead: $ git branch --remote -l | grep gropdf origin/gropdfmultiglyph (I don't know what that is, but it's not dev-gropdf-boxes; maybe we should clean it up too.) I attribute the problem to, in decreasing order of importance: 1. My inexperience as a Git administrator of remote branch management; 2. Some "helpful" Git defaults where pushes and pulls involve _all_ branches you have checked out, not just the one corresponding to one's working tree (or maybe you have "--all" in a convenient alias somewhere); 3. Configuration of the groff-commit list to notify of activity on all branches instead of just master; 4. Some kind of disagreement between the Savannah Git Web UI and Git proper over which branches are truly alive. If you do "git branch --remote --list", you'll see several more branches than <https://git.savannah.gnu.org/cgit/groff.git> shows us. I think point (3) discourages work on remote branches, especially when the parent branch is busy. On the other hand, most of my development experience is on local-only branches (or remote branches that are by convention reserved to single-developer use), where one really does have almost unlimited freedom, and rebasing (interactive and otherwise) is frequent, and you can't mess up your colleagues with a "--force --push". But the problem was mainly (1); that is, me. Sorry about that. Regards, Branden
signature.asc
Description: PGP signature