rebase --root: fix amending root commit messages
The code path that triggered that "BUG" really does not want to run without an explicit commit message. In the case where we want to amend a commit message, we have an *implicit* commit message, though: the one of the commit to amend. Therefore, this code path should not even be entered. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
3a36ca0881
commit
76fda6ebbc
|
@ -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;
|
||||
|
|
|
@ -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 &&
|
||||
|
|
Loading…
Reference in New Issue