Thread (11 messages) flat view 11 messages, 3 authors, 2016-06-15
STALE3734d

[PATCH v5 3/5] merge: Make 'merge.log' an integer or boolean option

From: Ramkumar Ramachandra <hidden>
Date: 2016-06-15 22:49:22
Subsystem: documentation, the rest · Maintainers: Jonathan Corbet, Linus Torvalds

Make 'merge.log' an integer or boolean option to set the number of
shortlog entries to display in the merge commit. Note that it defaults
to false, and that true means a default value of 20. Also update
corresponding documentation.

Signed-off-by: Ramkumar Ramachandra <redacted>
Thanks-to: Jonathan Nieder [off-list ref]
Thanks-to: Johannes Sixt [off-list ref]
---
 Documentation/git-fmt-merge-msg.txt |    8 +++++---
 Documentation/merge-config.txt      |    8 ++++++--
 builtin/fmt-merge-msg.c             |   11 +++++------
 builtin/merge.c                     |    8 ++++++--
 4 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt
index 14ac466..5954a53 100644
--- a/Documentation/git-fmt-merge-msg.txt
+++ b/Documentation/git-fmt-merge-msg.txt
@@ -25,9 +25,11 @@ OPTIONS
 -------
 
 --log[=<n>]::
-	In addition to branch names, populate the log message with
-	one-line descriptions from at most <n> actual commits that are
-	being merged. If omitted, <n> defaults to 20.
+	Whether to include summaries of merged commits in newly
+	created merge commit messages.  Optionally, an integer can be
+	used to specify how many merged commits to summarize (at
+	maxmium) in the merge message.  Specifying "true" is
+	equivalent to specifying 20.  Defaults to false.
 
 --no-log::
 	Do not list one-line descriptions from the actual commits being
diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt
index b72f533..510c0ad 100644
--- a/Documentation/merge-config.txt
+++ b/Documentation/merge-config.txt
@@ -7,8 +7,12 @@ merge.conflictstyle::
 	marker and the original text before the `=======` marker.
 
 merge.log::
-	Whether to include summaries of merged commits in newly created
-	merge commit messages. False by default.
+	Whether to include summaries of merged commits in newly
+	created merge commit messages.  Optionally, an integer can be
+	used to specify how many merged commits to summarize (at
+	maxmium) in the merge message.  Specifying "true" is
+	equivalent to specifying 20.  Defaults to false. See also
+	linkgit:git-fmt-merge-msg[1].
 
 merge.renameLimit::
 	The number of files to consider when performing rename detection
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c
index 1c5da95..6a2c9c8 100644
--- a/builtin/fmt-merge-msg.c
+++ b/builtin/fmt-merge-msg.c
@@ -15,13 +15,12 @@ static int shortlog_len;
 
 static int fmt_merge_msg_config(const char *key, const char *value, void *cb)
 {
-	static int found_merge_log = 0;
-	if (!strcmp("merge.log", key)) {
-		found_merge_log = 1;
-		shortlog_len = git_config_bool(key, value);
+	if (!strcmp(key, "merge.log") || !strcmp(key, "merge.summary")) {
+		int is_bool;
+		shortlog_len = git_config_bool_or_int(key, value, &is_bool);
+		if (is_bool && shortlog_len)
+			shortlog_len = 20;
 	}
-	if (!found_merge_log && !strcmp("merge.summary", key))
-		shortlog_len = git_config_bool(key, value);
 	return 0;
 }
 
diff --git a/builtin/merge.c b/builtin/merge.c
index 994b0c5..78d6c69 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -505,8 +505,12 @@ static int git_merge_config(const char *k, const char *v, void *cb)
 		return git_config_string(&pull_twohead, k, v);
 	else if (!strcmp(k, "pull.octopus"))
 		return git_config_string(&pull_octopus, k, v);
-	else if (!strcmp(k, "merge.log") || !strcmp(k, "merge.summary"))
-		shortlog_len = git_config_bool(k, v);
+	else if (!strcmp(k, "merge.log") || !strcmp(k, "merge.summary")) {
+		int is_bool;
+		shortlog_len = git_config_bool_or_int(k, v, &is_bool);
+		if (is_bool && shortlog_len)
+			shortlog_len = 20;
+	}
 	else if (!strcmp(k, "merge.renormalize"))
 		option_renormalize = git_config_bool(k, v);
 	return git_diff_ui_config(k, v, cb);
-- 
1.7.2.2.409.gdbb11.dirty
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help