diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-12-02 10:00:58 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-12-02 10:02:08 -0800 |
commit | ce9d823b9141756b5e60aa6c62653adb08e7213b (patch) | |
tree | 1fe3b071a27499fc0dfb964d1bd84197424097ca /builtin-merge.c | |
parent | 76bf488e61b8a87191a1779b79820545e64ef275 (diff) | |
download | git-ce9d823b9141756b5e60aa6c62653adb08e7213b.tar.gz |
merge: do not add standard message when message is given with -m option
Even if the user explicitly gave her own message to "git merge", the
command still added its standard merge message. It resulted in a
useless repetition like this:
% git merge -m "Merge early part of side branch" `git rev-parse side~2`
% git show -s
commit 37217141e7519629353738d5e4e677a15096206f
Merge: e68e646 a1d2374
Author: しらいし ななこ <nanako3@lavabit.com>
Date: Wed Dec 2 14:33:20 2009 +0900
Merge early part of side branch
Merge commit 'a1d2374f8f52f4e8a53171601a920b538a6cec23'
The gave her own message because she didn't want git to add the
standard message (if she wanted to, she wouldn't have given one,
or she would have prepared it using git-fmt-merge-msg command).
Noticed by Nanako Shiraishi
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-merge.c')
-rw-r--r-- | builtin-merge.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/builtin-merge.c b/builtin-merge.c index e5cf795307..2871419143 100644 --- a/builtin-merge.c +++ b/builtin-merge.c @@ -70,7 +70,7 @@ static int option_parse_message(const struct option *opt, if (unset) strbuf_setlen(buf, 0); else if (arg) { - strbuf_addf(buf, "%s\n\n", arg); + strbuf_addf(buf, "%s%s", buf->len ? "\n\n" : "", arg); have_message = 1; } else return error("switch `m' requires a value"); @@ -927,11 +927,13 @@ int cmd_merge(int argc, const char **argv, const char *prefix) * codepath so we discard the error in this * loop. */ - for (i = 0; i < argc; i++) - merge_name(argv[i], &msg); - fmt_merge_msg(option_log, &msg, &merge_msg); - if (merge_msg.len) - strbuf_setlen(&merge_msg, merge_msg.len-1); + if (!have_message) { + for (i = 0; i < argc; i++) + merge_name(argv[i], &msg); + fmt_merge_msg(option_log, &msg, &merge_msg); + if (merge_msg.len) + strbuf_setlen(&merge_msg, merge_msg.len-1); + } } if (head_invalid || !argc) |