Thread (8 messages) flat view 8 messages, 6 authors, 2016-06-15

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.");
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help