]> git.ipfire.org Git - thirdparty/git.git/commit - sequencer.c
rebase -i: skip unnecessary picks using the rebase--helper
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 14 Jul 2017 14:45:25 +0000 (16:45 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 27 Jul 2017 22:35:05 +0000 (15:35 -0700)
commitcdac2b01ff77d32305610aeb26396e25bffa9dba
tree60a0a154b2155f1b608714de2e314dc03127b39c
parent943999493fd4084d00bd5b5decc85b68eb64785f
rebase -i: skip unnecessary picks using the rebase--helper

In particular on Windows, where shell scripts are even more expensive
than on MacOSX or Linux, it makes sense to move a loop that forks
Git at least once for every line in the todo list into a builtin.

Note: The original code did not try to skip unnecessary picks of root
commits but punts instead (probably --root was not considered common
enough of a use case to bother optimizing). We do the same, for now.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/rebase--helper.c
git-rebase--interactive.sh
sequencer.c
sequencer.h