git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 05/12] fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable

From
SZEDER Gábor <szeder@ira.uka.de>
Date
Apr 16, 2008, 00:39 UTC
Message-ID
<1208306351-20922-6-git-send-email-szeder@ira.uka.de>
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
Previous: SZEDER GáborNext: SZEDER Gábor
Message 22 of 32 in “merge --summary vs. merge.summary”
  1. 0/2 merge --summary vs. merge.summarySZEDER Gábor, Apr 3, 2008
  2. 1/2 merge, pull: rename '--summary' option to '--diffstat'SZEDER Gábor, Apr 3, 2008
  3. 2/2 merge, pull: add option to put summary into the merge commit messageSZEDER Gábor, Apr 3, 2008
  4. Jeff KingApr 3, 2008
  5. SZEDER GáborApr 3, 2008
  6. merge, pull: introduce '--diffstat' optionSZEDER Gábor, Apr 5, 2008
  7. Teemu LikonenApr 5, 2008
  8. Junio C HamanoApr 5, 2008
  9. 0/6 merge summary and diffstat options cleanupSZEDER Gábor, Apr 6, 2008
  10. 1/6 doc: moved merge.* config variables into separate merge-config.txtSZEDER Gábor, Apr 6, 2008
  11. 2/6 merge, pull: introduce '--(no-)stat' optionSZEDER Gábor, Apr 6, 2008
  12. 3/6 add 'merge.stat' config variableSZEDER Gábor, Apr 6, 2008
  13. 4/6 fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variableSZEDER Gábor, Apr 6, 2008
  14. 5/6 merge, pull: add '--(no-)log' command line optionSZEDER Gábor, Apr 6, 2008
  15. 6/6 merge: remove deprecated summary and diffstat options and config variablesSZEDER Gábor, Apr 6, 2008
  16. Junio C HamanoApr 6, 2008
  17. 00/12 merge summary and diffstat options cleanupSZEDER Gábor, Apr 16, 2008
  18. 01/12 doc: moved merge.* config variables into separate merge-config.txtSZEDER Gábor, Apr 16, 2008
  19. 02/12 merge, pull: introduce '--(no-)stat' optionsSZEDER Gábor, Apr 16, 2008
  20. 03/12 add 'merge.stat' config variableSZEDER Gábor, Apr 16, 2008
  21. 04/12 t6200-fmt-merge-msg: put expected messages into different filesSZEDER Gábor, Apr 16, 2008
  22. 05/12 fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variableSZEDER Gábor, Apr 16, 2008
  23. 06/12 merge, pull: add '--(no-)log' command line optionSZEDER Gábor, Apr 16, 2008
  24. 07/12 merge, pull: mark '--(no-)summary' options as deprecatedSZEDER Gábor, Apr 16, 2008
  25. 08/12 merge, pull: mark the config variable 'merge.diffstat' as deprecatedSZEDER Gábor, Apr 16, 2008
  26. 09/12 fmt-merge-msg: mark summary-related option and config variable as deprecatedSZEDER Gábor, Apr 16, 2008
  27. 10/12 merge, pull: remove deprecated '--(no-)summary' optionsSZEDER Gábor, Apr 16, 2008
  28. 11/12 merge, pull: remove deprecated 'merge.diffstat' config variableSZEDER Gábor, Apr 16, 2008
  29. 12/12 fmt-merge-msg: remove deprecated summary-related options and config variableSZEDER Gábor, Apr 16, 2008
  30. Junio C HamanoApr 16, 2008
  31. Jeff KingApr 6, 2008
  32. Jakub NarebskiApr 6, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.