diff options
author | Jeff King <peff@peff.net> | 2008-07-31 03:36:09 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-31 11:20:13 -0700 |
commit | fdc7c81111a2ca8d97b8b45e260d7a4e737c8766 (patch) | |
tree | b4b425ff356060a547af878077b4648c382d78b4 | |
parent | f448e24e2fe336621306b04b84e947bdd04f7ecc (diff) | |
download | git-fdc7c81111a2ca8d97b8b45e260d7a4e737c8766.tar.gz git-fdc7c81111a2ca8d97b8b45e260d7a4e737c8766.tar.xz |
Compact commit template message
We recently let the user know explicitly that an empty
commit message will abort the commit. However, this adds yet
another line to the template; let's rephrase and re-wrap so
that this fits back on two lines.
This patch also makes the "fatal: empty commit message?"
warning a bit less scary, since this is now a "feature"
instead of an error. However, we retain the non-zero exit
status to indicate to callers that nothing was committed.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-commit.c | 19 | ||||
-rwxr-xr-x | t/t7502-commit.sh | 11 |
2 files changed, 17 insertions, 13 deletions
diff --git a/builtin-commit.c b/builtin-commit.c index f7c053a01..b783e6eb4 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -554,14 +554,18 @@ 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 "); + "# Please enter the commit message for your changes."); if (cleanup_mode == CLEANUP_ALL) - fprintf(fp, "not be included)\n"); + fprintf(fp, + " Lines starting\n" + "# with '#' will be ignored, and an empty" + " message aborts the commit.\n"); else /* CLEANUP_SPACE, that is. */ - fprintf(fp, "be kept.\n" - "# You can remove them yourself if you want to)\n"); + fprintf(fp, + " Lines starting\n" + "# with '#' will be kept; you may remove them" + " yourself if you want to.\n" + "# An empty message aborts the commit.\n"); if (only_include_assumed) fprintf(fp, "# %s\n", only_include_assumed); @@ -1004,7 +1008,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 f1112639b..3eb9faedc 100755 --- a/t/t7502-commit.sh +++ b/t/t7502-commit.sh @@ -141,16 +141,15 @@ 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 +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit." >expect test_expect_success 'cleanup commit messages (strip,-F,-e)' ' echo >>negative && { echo;echo sample;echo; } >text && git commit -e -F text -a && - head -n 5 .git/COMMIT_EDITMSG >actual && + head -n 4 .git/COMMIT_EDITMSG >actual && test_cmp expect actual ' @@ -163,7 +162,7 @@ test_expect_success 'author different from committer' ' echo >>negative && git commit -e -m "sample" - head -n 8 .git/COMMIT_EDITMSG >actual && + head -n 7 .git/COMMIT_EDITMSG >actual && test_cmp expect actual ' @@ -182,7 +181,7 @@ test_expect_success 'committer is automatic' ' # must fail because there is no change test_must_fail git commit -e -m "sample" ) && - head -n 9 .git/COMMIT_EDITMSG | \ + head -n 8 .git/COMMIT_EDITMSG | \ sed "s/^# Committer: .*/# Committer:/" >actual && test_cmp expect actual ' |