Re: Recovering from commit --amend in rebase --interactive
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:48:53
On Tue, Jun 1, 2010 at 09:57, Jan Krüger [off-list ref] wrote:
Peter Krefting [off-list ref] wrote:quoted
Last time this happened to me, I *did* notice my mistake as I entered the editor, since it came up with the previous commit's message. However, as the commit message file was in a good shape, I found no way to break out of the amend.It might be easy to miss, but it's there, right in the editor: # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and *an empty message aborts the commit*. (Emphasis added) In general, it might be helpful to warn very loudly upon doing a commit --amend after fixing conflicts, but an implementation would probably be ugly and for all I know, there might be people who frequently cause conflicts while amending; those guys would probably be quite annoyed at such a warning.
I've also introduced the error Peter describes into my history because
I wasn't careful. That required some splitting / reflog fixes later.
Perhaps the best way to solve this would be to change the content of
COMMIT_EDITMSG in cases like these so it gives you an explicit warning
about what you're about to do.
We already do this for merges, from builtin/commit.c:
if (in_merge)
fprintf(fp,
"#\n"
"# It looks like you may be committing a MERGE.\n"
"# If this is not correct, please remove the file\n"
"# %s\n"
"# and try again.\n"
"#\n",
git_path("MERGE_HEAD"));
fprintf(fp,
"\n"
"# Please enter the commit message for your changes.");