Hi Philip, On Sun, 22 Apr 2018, Philip Oakley wrote: > From: "Johannes Schindelin" <johannes.schindelin@xxxxxx> > > Sorry for the very late in the series comments.. > > > The sequencer just learned new commands intended to recreate branch > > structure (similar in spirit to --preserve-merges, but with a > > substantially less-broken design). > > > > Let's allow the rebase--helper to generate todo lists making use of > > these commands, triggered by the new --rebase-merges option. For a > > commit topology like this (where the HEAD points to C): > > > > - A - B - C > > \ / > > D > > > > the generated todo list would look like this: > > > > # branch D > > pick 0123 A > > label branch-point > > pick 1234 D > > label D > > > > reset branch-point > > pick 2345 B > > merge -C 3456 D # C > > > > To keep things simple, we first only implement support for merge commits > > with exactly two parents, leaving support for octopus merges to a later > > patch series. > > > For the first time reader this (below) isn't as obvious as may be thought. > maybe we should be a little more explicit here. > > > As a special, hard-coded label, all merge-rebasing todo lists start with > > the command `label onto` > > .. which labels the start point head with the name 'onto' ... > > Maybe even: > "All merge-rebasing todo lists start with, as a convenience, a hard-coded > `label onto` line which will label the start point's head" ... I changed it to All merge-rebasing todo lists start with a hard-coded `label onto` line. This makes it convenient to refer later on to the revision onto which everything is rebased, e.g. as starting point for branches other than the very first one. Ciao, Dscho