diff --git a/sequencer.c b/sequencer.c index 8eddda681d..0f017c058c 100644 --- a/sequencer.c +++ b/sequencer.c @@ -784,7 +784,7 @@ static int run_git_commit(const char *defmsg, struct replay_opts *opts, struct child_process cmd = CHILD_PROCESS_INIT; const char *value; - if (flags & CREATE_ROOT_COMMIT) { + if ((flags & CREATE_ROOT_COMMIT) && !(flags & AMEND_MSG)) { struct strbuf msg = STRBUF_INIT, script = STRBUF_INIT; const char *author = is_rebase_i(opts) ? read_author_ident(&script) : NULL; diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index ca94c688d2..e500d7c320 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -971,7 +971,7 @@ test_expect_success 'rebase -i --root fixup root commit' ' test 0 = $(git cat-file commit HEAD | grep -c ^parent\ ) ' -test_expect_failure 'rebase -i --root reword root commit' ' +test_expect_success 'rebase -i --root reword root commit' ' test_when_finished "test_might_fail git rebase --abort" && git checkout -b reword-root-branch master && set_fake_editor &&