summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2014-06-06 11:16:04 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-06-06 11:16:04 -0700
commite88155d1e1c3b55ed1f78425b0c2e5a09eea29dd (patch)
treecc354c22f25f0576ce5a02f63bcea021fbe208b4
parentMerge branch 'mm/pager-less-sans-S' (diff)
parentcommit: do not complain of empty messages from -C (diff)
downloadtgif-e88155d1e1c3b55ed1f78425b0c2e5a09eea29dd.tar.xz
Merge branch 'jk/commit-C-pick-empty'
"git commit --allow-empty-message -C $commit" did not work when the commit did not have any log message. * jk/commit-C-pick-empty: commit: do not complain of empty messages from -C
-rw-r--r--builtin/commit.c5
-rwxr-xr-xt/t7500-commit.sh11
2 files changed, 12 insertions, 4 deletions
diff --git a/builtin/commit.c b/builtin/commit.c
index caec5c0e18..0320efd57d 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -676,9 +676,8 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
} else if (use_message) {
char *buffer;
buffer = strstr(use_message_buffer, "\n\n");
- if (!use_editor && (!buffer || buffer[2] == '\0'))
- die(_("commit has empty message"));
- strbuf_add(&sb, buffer + 2, strlen(buffer + 2));
+ if (buffer)
+ strbuf_add(&sb, buffer + 2, strlen(buffer + 2));
hook_arg1 = "commit";
hook_arg2 = use_message;
} else if (fixup_message) {
diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh
index bdc1f29503..116885a260 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -223,7 +223,8 @@ test_expect_success 'Commit without message is allowed with --allow-empty-messag
git add foo &&
>empty &&
git commit --allow-empty-message <empty &&
- commit_msg_is ""
+ commit_msg_is "" &&
+ git tag empty-message-commit
'
test_expect_success 'Commit without message is no-no without --allow-empty-message' '
@@ -240,6 +241,14 @@ test_expect_success 'Commit a message with --allow-empty-message' '
commit_msg_is "hello there"
'
+test_expect_success 'commit -C empty respects --allow-empty-message' '
+ echo more >>foo &&
+ git add foo &&
+ test_must_fail git commit -C empty-message-commit &&
+ git commit -C empty-message-commit --allow-empty-message &&
+ commit_msg_is ""
+'
+
commit_for_rebase_autosquash_setup () {
echo "first content line" >>foo &&
git add foo &&