summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2020-02-14 12:42:27 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-02-14 12:42:27 -0800
commit3bba763373a5d0e5fcbe37a5f54a16f9b7f2e7b5 (patch)
tree503faf861d2e6c4545251cc1c62c4264f9c929e9
parent.mailmap: map Yi-Jyun Pan's email (diff)
parentcommit: honor advice.statusHints when rejecting an empty commit (diff)
downloadtgif-3bba763373a5d0e5fcbe37a5f54a16f9b7f2e7b5.tar.xz
Merge branch 'hw/commit-advise-while-rejecting' into maint
"git commit" gives output similar to "git status" when there is nothing to commit, but without honoring the advise.statusHints configuration variable, which has been corrected. * hw/commit-advise-while-rejecting: commit: honor advice.statusHints when rejecting an empty commit
-rw-r--r--builtin/commit.c1
-rwxr-xr-xt/t7500-commit-template-squash-signoff.sh9
2 files changed, 10 insertions, 0 deletions
diff --git a/builtin/commit.c b/builtin/commit.c
index aa1332308a..646e84547d 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -964,6 +964,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
*/
if (!committable && whence != FROM_MERGE && !allow_empty &&
!(amend && is_a_merge(current_head))) {
+ s->hints = advice_status_hints;
s->display_comment_prefix = old_display_comment_prefix;
run_status(stdout, index_file, prefix, 0, s);
if (amend)
diff --git a/t/t7500-commit-template-squash-signoff.sh b/t/t7500-commit-template-squash-signoff.sh
index 46a5cd4b73..6d19ece05d 100755
--- a/t/t7500-commit-template-squash-signoff.sh
+++ b/t/t7500-commit-template-squash-signoff.sh
@@ -382,4 +382,13 @@ test_expect_success 'check commit with unstaged rename and copy' '
)
'
+test_expect_success 'commit without staging files fails and displays hints' '
+ echo "initial" >file &&
+ git add file &&
+ git commit -m initial &&
+ echo "changes" >>file &&
+ test_must_fail git commit -m update >actual &&
+ test_i18ngrep "no changes added to commit (use \"git add\" and/or \"git commit -a\")" actual
+'
+
test_done