summaryrefslogtreecommitdiff
path: root/sequencer.c
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2018-05-03 23:01:18 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-05-06 04:21:58 (GMT)
commit21d0764c823bdca78b99dae562ca9e5c2a121738 (patch)
treec1562176ef449800869380f172154ee5c80d532c /sequencer.c
parentd87d48b2e033e8a8d39afbe7cb5eea331bbe47a6 (diff)
downloadgit-21d0764c823bdca78b99dae562ca9e5c2a121738.zip
git-21d0764c823bdca78b99dae562ca9e5c2a121738.tar.gz
git-21d0764c823bdca78b99dae562ca9e5c2a121738.tar.bz2
rebase -i --root: let the sequencer handle even the initial part
In this developer's earlier attempt to accelerate interactive rebases by converting large parts from Unix shell script into portable, performant C, the --root handling was specifically excluded (to simplify the task a little bit; it still took over a year to get that reduced set of patches into Git proper). This patch ties up that loose end: now only --preserve-merges uses the slow Unix shell script implementation to perform the interactive rebase. As the rebase--helper reports progress to stderr (unlike the scripted interactive rebase, which reports it to stdout, of all places), we have to adjust a couple of tests that did not expect that for `git rebase -i --root`. This patch fixes -- at long last! -- the really old bug reported in 6a6bc5bdc4d (add tests for rebasing root, 2013-06-06) that rebasing with --root *always* rewrote the root commit, even if there were no changes. The bug still persists in --preserve-merges mode, of course, but that mode will be deprecated as soon as the new --rebase-merges mode stabilizes, anyway. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
0 files changed, 0 insertions, 0 deletions