rebase -i: clean error message for --continue after failed exec
authorMatthieu Moy <Matthieu.Moy@imag.fr>
Wed, 24 Aug 2011 14:01:48 +0000 (16:01 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 26 Aug 2011 21:57:09 +0000 (14:57 -0700)
commitffaaed88aed2e9b7936a0c5b43c1b198db0dc2ab
tree264997f5bdf5cf9504d66e82712f4cf3a75a6c0e
parentcd2b8ae983a277fb3f3c2b2c6747b0a075af1421
rebase -i: clean error message for --continue after failed exec

After an "exec false" stops the rebase and gives the control back to
the user, if changes are added to the index, "rebase --continue" fails
with this message, which may technically be correct, but does not point
at the real problem:

.../git-rebase--interactive: line 774: .../.git/rebase-merge/author-script: No such file or directory

We could try auto-amending HEAD, but this goes against the logic of
.git/rebase-merge/author-script (see also the testcase 'auto-amend only
edited commits after "edit"' in t3404-rebase-interactive.sh) to
auto-amend something the user hasn't explicitely asked to edit.

Instead of doing anything automatically, detect the situation and give a
clean error message. While we're there, also clarify the error message in
case '. "$author_script"' fails, which now corresponds to really weird
senario where the author script exists but can't be read.

Test-case-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh
t/t3404-rebase-interactive.sh