rebase: do not continue when the todo list generation failed

This is a *really* long-standing bug. As a matter of fact, this bug has
been with us from the very beginning of `rebase -i`: 1b1dce4bae (Teach
rebase an interactive mode, 2007-06-25), where the output of `rev-list`
was piped to `sed` (and any failure of the `rev-list` process would go
completely undetected).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2017-12-23 00:55:38 +01:00 committed by Junio C Hamano
parent 29533fb168
commit 9336281c69

View File

@ -893,7 +893,8 @@ fi
if test t != "$preserve_merges" if test t != "$preserve_merges"
then then
git rebase--helper --make-script ${keep_empty:+--keep-empty} \ git rebase--helper --make-script ${keep_empty:+--keep-empty} \
$revisions ${restrict_revision+^$restrict_revision} >"$todo" $revisions ${restrict_revision+^$restrict_revision} >"$todo" ||
die "$(gettext "Could not generate todo list")"
else else
format=$(git config --get rebase.instructionFormat) format=$(git config --get rebase.instructionFormat)
# the 'rev-list .. | sed' requires %m to parse; the instruction requires %H to parse # the 'rev-list .. | sed' requires %m to parse; the instruction requires %H to parse