When the last command of an interactive rebase fails, the user needs to
resolve the problem and then continue the interactive rebase. Naturally,
the todo script is empty by then. So let's not complain about that!

Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>
---
 sequencer.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sequencer.c b/sequencer.c
index 7f017a8..d4437f5 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -1249,8 +1249,6 @@ static int parse_insn_buffer(char *buf, struct todo_list 
*todo_list)
                        fixup_okay = 1;
                p = *eol ? eol + 1 : eol;
        }
-       if (!todo_list->nr)
-               return error(_("No commits parsed."));
        return res;
 }
 
@@ -1273,6 +1271,9 @@ static int read_populate_todo(struct todo_list *todo_list,
        res = parse_insn_buffer(todo_list->buf.buf, todo_list);
        if (res)
                return error(_("Unusable instruction sheet: %s"), todo_file);
+       if (!todo_list->nr &&
+           (!is_rebase_i(opts) || !file_exists(rebase_path_done())))
+               return error(_("No commits parsed."));
        return 0;
 }
 
-- 
2.10.0.rc2.102.g5c102ec


Reply via email to