From: "SZEDER Gábor" <szeder@ira.uka.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, "SZEDER Gábor" <szeder@ira.uka.de>
Subject: [PATCH v2 05/12] fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable
Date: Wed, 16 Apr 2008 02:39:04 +0200 [thread overview]
Message-ID: <1208306351-20922-6-git-send-email-szeder@ira.uka.de> (raw)
In-Reply-To: <1208306351-20922-5-git-send-email-szeder@ira.uka.de>
These options and config variable have the same effect as the current
'--(no-)summary' options and 'merge.summary' config variable.
'merge.log' takes precedence over 'merge.summary'.
Documentation and bash completion are updated accordingly. Tests are
also updated and new tests are added to ensure that the command line
options are working properly and are overriding the config variables.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
Documentation/git-fmt-merge-msg.txt | 7 ++++-
Documentation/merge-config.txt | 1 +
builtin-fmt-merge-msg.c | 14 ++++++++---
contrib/completion/git-completion.bash | 1 +
t/t6200-fmt-merge-msg.sh | 40 ++++++++++++++++++++++++++++++-
5 files changed, 55 insertions(+), 8 deletions(-)
diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt
index 8615ae3..cd441c5 100644
--- a/Documentation/git-fmt-merge-msg.txt
+++ b/Documentation/git-fmt-merge-msg.txt
@@ -9,8 +9,8 @@ git-fmt-merge-msg - Produce a merge commit message
SYNOPSIS
--------
[verse]
-git-fmt-merge-msg [--summary | --no-summary] <$GIT_DIR/FETCH_HEAD
-git-fmt-merge-msg [--summary | --no-summary] -F <file>
+git-fmt-merge-msg [--[no-]log | --[no-]summary] <$GIT_DIR/FETCH_HEAD
+git-fmt-merge-msg [--[no-]log | --[no-]summary] -F <file>
DESCRIPTION
-----------
@@ -24,11 +24,13 @@ automatically invoking `git-merge`.
OPTIONS
-------
+--log::
--summary::
In addition to branch names, populate the log message with
one-line descriptions from the actual commits that are being
merged.
+--no-log::
--no-summary::
Do not list one-line descriptions from the actual commits being
merged.
@@ -40,6 +42,7 @@ OPTIONS
CONFIGURATION
-------------
+merge.log::
merge.summary::
Whether to include summaries of merged commits in newly
merge commit messages. False by default.
diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt
index 15efc0d..a0f71e6 100644
--- a/Documentation/merge-config.txt
+++ b/Documentation/merge-config.txt
@@ -3,6 +3,7 @@ merge.diffstat::
Whether to print the diffstat berween ORIG_HEAD and merge result
at the end of the merge. True by default.
+merge.log::
merge.summary::
Whether to include summaries of merged commits in newly created
merge commit messages. False by default.
diff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c
index ebb3f37..3df8ff8 100644
--- a/builtin-fmt-merge-msg.c
+++ b/builtin-fmt-merge-msg.c
@@ -6,13 +6,18 @@
#include "tag.h"
static const char *fmt_merge_msg_usage =
- "git-fmt-merge-msg [--summary] [--no-summary] [--file <file>]";
+ "git-fmt-merge-msg [--log | --summary] [--no-log | --no-summary] [--file <file>]";
static int merge_summary;
static int fmt_merge_msg_config(const char *key, const char *value)
{
- if (!strcmp("merge.summary", key))
+ static int found_merge_log = 0;
+ if (!strcmp("merge.log", key)) {
+ found_merge_log = 1;
+ merge_summary = git_config_bool(key, value);
+ }
+ if (!found_merge_log && !strcmp("merge.summary", key))
merge_summary = git_config_bool(key, value);
return 0;
}
@@ -250,9 +255,10 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)
git_config(fmt_merge_msg_config);
while (argc > 1) {
- if (!strcmp(argv[1], "--summary"))
+ if (!strcmp(argv[1], "--log") || !strcmp(argv[1], "--summary"))
merge_summary = 1;
- else if (!strcmp(argv[1], "--no-summary"))
+ else if (!strcmp(argv[1], "--no-log")
+ || !strcmp(argv[1], "--no-summary"))
merge_summary = 0;
else if (!strcmp(argv[1], "-F") || !strcmp(argv[1], "--file")) {
if (argc < 3)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 4caff8d..276a984 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1023,6 +1023,7 @@ _git_config ()
log.showroot
merge.tool
merge.stat
+ merge.log
merge.summary
merge.verbosity
pack.window
diff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh
index 1af3ab2..20704eb 100755
--- a/t/t6200-fmt-merge-msg.sh
+++ b/t/t6200-fmt-merge-msg.sh
@@ -138,7 +138,8 @@ EOF
test_expect_success 'merge-msg test #4' '
- git config merge.summary true &&
+ git config --unset merge.summary &&
+ git config merge.log true &&
git checkout master &&
setdate &&
@@ -150,7 +151,7 @@ test_expect_success 'merge-msg test #4' '
test_expect_success 'merge-msg test #5' '
- git config merge.summary yes &&
+ git config merge.log yes &&
git checkout master &&
setdate &&
@@ -160,4 +161,39 @@ test_expect_success 'merge-msg test #5' '
git diff actual msg.left_right.log
'
+test_expect_success 'merge-msg command line options #1' '
+ git config --unset merge.log &&
+
+ git checkout master &&
+ setdate &&
+ git fetch . left &&
+
+ git fmt-merge-msg <.git/FETCH_HEAD >actual &&
+ git diff actual msg.left.nolog
+'
+
+test_expect_success 'merge-msg command line options #2' '
+ git fmt-merge-msg --log <.git/FETCH_HEAD >actual &&
+ git diff actual msg.left.log
+'
+
+test_expect_success 'merge-msg command line options #3' '
+ git fmt-merge-msg --summary <.git/FETCH_HEAD >actual &&
+ git diff actual msg.left.log
+'
+
+test_expect_success 'merge-msg command line option overrides config #1' '
+ git config merge.log true &&
+
+ git fmt-merge-msg --no-log <.git/FETCH_HEAD >actual &&
+ git diff actual msg.left.nolog
+'
+
+test_expect_success 'merge-msg command line option overrides config #2' '
+ git config merge.log false &&
+
+ git fmt-merge-msg --log <.git/FETCH_HEAD >actual &&
+ git diff actual msg.left.log
+'
+
test_done
--
1.5.5.76.g546c
next prev parent reply other threads:[~2008-04-16 0:40 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-03 9:03 [PATCH 0/2] merge --summary vs. merge.summary SZEDER Gábor
2008-04-03 9:03 ` [PATCH 1/2] merge, pull: rename '--summary' option to '--diffstat' SZEDER Gábor
2008-04-03 9:03 ` [PATCH 2/2] merge, pull: add option to put summary into the merge commit message SZEDER Gábor
2008-04-03 10:30 ` [PATCH 0/2] merge --summary vs. merge.summary Jeff King
2008-04-03 11:03 ` SZEDER Gábor
2008-04-05 14:48 ` [PATCH] merge, pull: introduce '--diffstat' option SZEDER Gábor
2008-04-05 15:35 ` Teemu Likonen
2008-04-05 18:51 ` Junio C Hamano
2008-04-06 1:23 ` [PATCH 0/6] merge summary and diffstat options cleanup SZEDER Gábor
2008-04-06 1:23 ` [PATCH 1/6] doc: moved merge.* config variables into separate merge-config.txt SZEDER Gábor
2008-04-06 1:23 ` [PATCH 2/6] merge, pull: introduce '--(no-)stat' option SZEDER Gábor
2008-04-06 1:23 ` [PATCH 3/6] add 'merge.stat' config variable SZEDER Gábor
2008-04-06 1:23 ` [PATCH 4/6] fmt-merge-msg: add '--(no-)log' options and 'merge.log' " SZEDER Gábor
2008-04-06 1:23 ` [PATCH 5/6] merge, pull: add '--(no-)log' command line option SZEDER Gábor
2008-04-06 1:23 ` [PATCH 6/6] merge: remove deprecated summary and diffstat options and config variables SZEDER Gábor
2008-04-06 2:36 ` [PATCH 2/6] merge, pull: introduce '--(no-)stat' option Junio C Hamano
2008-04-16 0:38 ` [PATCH v2 00/12] merge summary and diffstat options cleanup SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 01/12] doc: moved merge.* config variables into separate merge-config.txt SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 02/12] merge, pull: introduce '--(no-)stat' options SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 03/12] add 'merge.stat' config variable SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 04/12] t6200-fmt-merge-msg: put expected messages into different files SZEDER Gábor
2008-04-16 0:39 ` SZEDER Gábor [this message]
2008-04-16 0:39 ` [PATCH v2 06/12] merge, pull: add '--(no-)log' command line option SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 07/12] merge, pull: mark '--(no-)summary' options as deprecated SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 08/12] merge, pull: mark the config variable 'merge.diffstat' " SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 09/12] fmt-merge-msg: mark summary-related option and config variable " SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 10/12] merge, pull: remove deprecated '--(no-)summary' options SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 11/12] merge, pull: remove deprecated 'merge.diffstat' config variable SZEDER Gábor
2008-04-16 0:39 ` [PATCH v2 12/12] fmt-merge-msg: remove deprecated summary-related options and " SZEDER Gábor
2008-04-16 4:23 ` [PATCH v2 00/12] merge summary and diffstat options cleanup Junio C Hamano
2008-04-06 13:53 ` [PATCH] merge, pull: introduce '--diffstat' option Jeff King
2008-04-06 14:37 ` Jakub Narebski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1208306351-20922-6-git-send-email-szeder@ira.uka.de \
--to=szeder@ira.uka.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).