git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3] Advertise the ability to abort a commit

From
AMAnders Melchiorsen <mail@cup.kalibalik.dk>
Date
Jul 30, 2008, 17:53 UTC
Message-ID
<1217440391-13259-1-git-send-email-mail@cup.kalibalik.dk>
In-Reply-To
<20080730051059.GA4497@sigill.intra.peff.net>
An empty commit message is now treated as a normal situation, not an error.
Signed-off-by: Anders Melchiorsen <mail@cup.kalibalik.dk>
---

So, I decided that I find it wrong to promote functionality that results in an error. The error is now changed into a normal exit (with status code 1.)

 builtin-commit.c  |    4 +++-
 t/t7502-commit.sh |    7 ++++---
 2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/builtin-commit.c b/builtin-commit.c
index 9a11ca0..bc59718 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -555,6 +555,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix)
 		fprintf(fp,
 			"\n"
 			"# Please enter the commit message for your changes.\n"
+			"# To abort the commit, use an empty commit message.\n"
 			"# (Comment lines starting with '#' will ");
 		if (cleanup_mode == CLEANUP_ALL)
 			fprintf(fp, "not be included)\n");
@@ -1003,7 +1004,8 @@ int cmd_commit(int argc, const char **argv, const char *prefix)
 		stripspace(&sb, cleanup_mode == CLEANUP_ALL);
 	if (sb.len < header_len || message_is_empty(&sb, header_len)) {
 		rollback_index_files();
-		die("no commit message?  aborting commit.");
+		fprintf(stderr, "Aborting commit due to empty commit message.\n");
+		exit(1);
 	}
 	strbuf_addch(&sb, '\0');
 	if (is_encoding_utf8(git_commit_encoding) && !is_utf8(sb.buf))
diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index 4f2682e..f111263 100755
--- a/t/t7502-commit.sh
+++ b/t/t7502-commit.sh
@@ -142,6 +142,7 @@ test_expect_success 'cleanup commit messages (strip,-F)' '
 echo "sample
 
 # Please enter the commit message for your changes.
+# To abort the commit, use an empty commit message.
 # (Comment lines starting with '#' will not be included)" >expect
 
 test_expect_success 'cleanup commit messages (strip,-F,-e)' '
@@ -149,7 +150,7 @@ test_expect_success 'cleanup commit messages (strip,-F,-e)' '
 	echo >>negative &&
 	{ echo;echo sample;echo; } >text &&
 	git commit -e -F text -a &&
-	head -n 4 .git/COMMIT_EDITMSG >actual &&
+	head -n 5 .git/COMMIT_EDITMSG >actual &&
 	test_cmp expect actual
 
 '
@@ -162,7 +163,7 @@ test_expect_success 'author different from committer' '
 
 	echo >>negative &&
 	git commit -e -m "sample"
-	head -n 7 .git/COMMIT_EDITMSG >actual &&
+	head -n 8 .git/COMMIT_EDITMSG >actual &&
 	test_cmp expect actual
 '
 
@@ -181,7 +182,7 @@ test_expect_success 'committer is automatic' '
 		# must fail because there is no change
 		test_must_fail git commit -e -m "sample"
 	) &&
-	head -n 8 .git/COMMIT_EDITMSG |	\
+	head -n 9 .git/COMMIT_EDITMSG |	\
 	sed "s/^# Committer: .*/# Committer:/" >actual &&
 	test_cmp expect actual
 '
-- 
1.5.6.4
Previous: Jeff KingNext: Brian Gernhardt
Message 7 of 19 in “Advertise the ability to abort a commit”
  1. Advertise the ability to abort a commitAnders Melchiorsen, Jul 29, 2008
  2. Advertise the ability to abort a commitAnders Melchiorsen, Jul 29, 2008
  3. Junio C HamanoJul 29, 2008
  4. Anders MelchiorsenJul 29, 2008
  5. Jeff KingJul 30, 2008
  6. Jeff KingJul 30, 2008
  7. Advertise the ability to abort a commitAnders Melchiorsen, Jul 30, 2008
  8. Brian GernhardtJul 30, 2008
  9. Avery PennarunJul 30, 2008
  10. Brian GernhardtJul 30, 2008
  11. Anders MelchiorsenJul 30, 2008
  12. Jeff KingJul 31, 2008
  13. Junio C HamanoJul 31, 2008
  14. Advertise the ability to abort a commitJeff King, Jul 31, 2008
  15. Jeff KingJul 31, 2008
  16. Petr BaudisJul 31, 2008
  17. Jeff KingJul 31, 2008
  18. Anders MelchiorsenJul 31, 2008
  19. Jeff KingJul 31, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.