diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2018-04-25 14:29:03 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-04-26 12:28:42 +0900 |
commit | 1644c73c6d4fe35d4d3304b9c03c9586de51626f (patch) | |
tree | 224c2f2f07c0d7108199ac2500f02fd92d126dc5 /read-cache.c | |
parent | sequencer: fast-forward `merge` commands, if possible (diff) | |
download | tgif-1644c73c6d4fe35d4d3304b9c03c9586de51626f.tar.xz |
rebase-helper --make-script: introduce a flag to rebase merges
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.
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.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'read-cache.c')
0 files changed, 0 insertions, 0 deletions