diff options
author | Stephen Boyd <bebarino@gmail.com> | 2010-03-24 00:15:58 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-03-24 19:39:40 -0700 |
commit | 419fe5bc861517c789c8f028519e085fd8d1992f (patch) | |
tree | dfbdaf404cfbfc3c70218e5639aca663d87ea95c | |
parent | 5e4f61474202122f376b16181b760f390623bf4e (diff) | |
download | git-419fe5bc861517c789c8f028519e085fd8d1992f.tar.gz |
fmt-merge-msg: be quiet if nothing to merge
When FETCH_HEAD contains only 'not-for-merge' entries fmt-merge-msg
still outputs "Merge" (and if the branch isn't master " into <branch>").
In this case fmt-merge-msg is outputting junk and should really just
be quiet. Fix it.
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/fmt-merge-msg.c | 3 | ||||
-rwxr-xr-x | t/t6200-fmt-merge-msg.sh | 19 |
2 files changed, 22 insertions, 0 deletions
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c index 9d524000b5..9bb26255e0 100644 --- a/builtin/fmt-merge-msg.c +++ b/builtin/fmt-merge-msg.c @@ -281,6 +281,9 @@ int fmt_merge_msg(int merge_summary, struct strbuf *in, struct strbuf *out) { die ("Error in line %d: %.*s", i, len, p); } + if (!srcs.nr) + return 0; + strbuf_addstr(out, "Merge "); for (i = 0; i < srcs.nr; i++) { struct src_data *src_data = srcs.payload[i]; diff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh index 42f6fff373..ade209af43 100755 --- a/t/t6200-fmt-merge-msg.sh +++ b/t/t6200-fmt-merge-msg.sh @@ -21,6 +21,8 @@ test_expect_success setup ' setdate && git commit -m "Initial" && + git clone . remote && + echo uno >one && echo dos >two && git add two && @@ -240,4 +242,21 @@ test_expect_success 'merge-msg -F in subdirectory' ' test_cmp expected actual ' +test_expect_success 'merge-msg with nothing to merge' ' + + git config --unset-all merge.log + git config --unset-all merge.summary + git config merge.summary yes && + + ( + cd remote && + git checkout -b unrelated && + setdate && + git fetch origin && + git fmt-merge-msg <.git/FETCH_HEAD >../actual + ) && + + test_cmp /dev/null actual +' + test_done |