summaryrefslogtreecommitdiff
path: root/wt-status.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-12-13 03:09:16 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-12-13 04:50:33 (GMT)
commit37d07f8f9841a29cb53a1eda6acd3804c957f0e3 (patch)
tree6f450af5c78b44eefb539fd15fcd09dc30e29336 /wt-status.c
parent1e8df762b38e01685f3aa3613e2d61f73346fcbe (diff)
downloadgit-37d07f8f9841a29cb53a1eda6acd3804c957f0e3.zip
git-37d07f8f9841a29cb53a1eda6acd3804c957f0e3.tar.gz
git-37d07f8f9841a29cb53a1eda6acd3804c957f0e3.tar.bz2
git-commit: squelch needless message during an empty merge
When recording a merge that conflicted and ends up in no changes after manual resolution, commit callchain looked like this: cmd_commit() -> prepare_log_message() -> run_status() -> wt_status_print() This invocation of run_status() is asked to find out if there is a committable change, but it unconditionally gave instructions such as "use git-add" at the same time. When in merge, we do allow an empty change to be recorded, so after showing this message the code still went ahead and made a commit. This introduces "nowarn" parameter to run_status() to avoid these useless messages. If we are not allowed to create an empty commit, we already call run_status() again in the original codepath, and the message will be shown from that call anyway. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'wt-status.c')
-rw-r--r--wt-status.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/wt-status.c b/wt-status.c
index 51c1879..c0c2472 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -381,6 +381,8 @@ void wt_status_print(struct wt_status *s)
if (!s->commitable) {
if (s->amend)
fprintf(s->fp, "# No changes\n");
+ else if (s->nowarn)
+ ; /* nothing */
else if (s->workdir_dirty)
printf("no changes added to commit (use \"git add\" and/or \"git commit -a\")\n");
else if (s->workdir_untracked)