Re: [PATCH v3 3/5] commit: reword the empty-commit rebase amend error
"Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 13 quoted lines
> From: Elijah Newren <newren@gmail.com>
>
> When a rebase applies a commit that becomes empty, it stops and asks the
> user to decide whether to keep it or drop it. HEAD still points at the
> previously-applied commit at that point, so amending is refused, with:
>
> You are in the middle of a rebase -- cannot amend.
>
> That message would suggest that amending is not allowed during an 'edit'
> or 'break' stop, which is misleading, plus it lacks the specificity that
> might help the user know why their particular case is a problem: the
> commit they intended to amend became empty and was dropped, so amending
> would affect the wrong commit. Reword the error accordingly.
Show 16 quoted lines
> Signed-off-by: Elijah Newren <newren@gmail.com>
> ---
> builtin/commit.c | 2 +-
> t/t3404-rebase-interactive.sh | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/builtin/commit.c b/builtin/commit.c
> index 610820c99f..774fb8299d 100644
> --- a/builtin/commit.c
> +++ b/builtin/commit.c
> @@ -1332,7 +1332,7 @@ static int parse_and_validate_options(int argc, const char *argv[],
> else if (is_from_cherry_pick(whence))
> die(_("You are in the middle of a cherry-pick -- cannot amend."));
> else if (is_from_rebase_empty(whence))
> - die(_("You are in the middle of a rebase -- cannot amend."));
> + die(_("The now-empty commit has been dropped -- cannot amend."));OK. Much less awkward than the previous round.
Show 16 quoted lines
> }
> if (fixup_message && squash_message)
> die(_("options '%s' and '%s' cannot be used together"), "--squash", "--fixup");
> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
> index 3588e16543..81f4844950 100755
> --- a/t/t3404-rebase-interactive.sh
> +++ b/t/t3404-rebase-interactive.sh
> @@ -1880,7 +1880,7 @@ test_expect_success 'correct error message for commit --amend after empty pick'
> ) &&
> echo x>file1 &&
> test_must_fail git commit -a --amend 2>err &&
> - test_grep "middle of a rebase -- cannot amend." err
> + test_grep "now-empty commit has been dropped -- cannot amend." err
> '
>
> test_expect_success 'todo has correct onto hash' '