summaryrefslogtreecommitdiff
path: root/builtin/fmt-merge-msg.c
diff options
context:
space:
mode:
authorRamkumar Ramachandra <artagnon@gmail.com>2010-09-08 17:59:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-09-09 18:39:23 (GMT)
commitbda3b8ff1735aecfb5265ed781548eab238d7a14 (patch)
tree726a983b0f5862a9a4974271cae1e609bb1048f9 /builtin/fmt-merge-msg.c
parent96e9420cd357728949571b42eb0249881ae3a78e (diff)
downloadgit-bda3b8ff1735aecfb5265ed781548eab238d7a14.zip
git-bda3b8ff1735aecfb5265ed781548eab238d7a14.tar.gz
git-bda3b8ff1735aecfb5265ed781548eab238d7a14.tar.bz2
merge: Make 'merge.log' an integer or boolean option
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 <artagnon@gmail.com> Thanks-to: Jonathan Nieder <jrnieder@gmail.com> Thanks-to: Johannes Sixt <j.sixt@viscovery.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/fmt-merge-msg.c')
-rw-r--r--builtin/fmt-merge-msg.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c
index 455e7c6..d2eed43 100644
--- a/builtin/fmt-merge-msg.c
+++ b/builtin/fmt-merge-msg.c
@@ -15,15 +15,13 @@ 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) ? DEFAULT_MERGE_LOG_LEN : 0;
- return 0;
- }
- if (!found_merge_log && !strcmp("merge.summary", key)) {
- shortlog_len = git_config_bool(key, value) ? DEFAULT_MERGE_LOG_LEN : 0;
- return 0;
+ 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 < 0)
+ return error("%s: negative length %s", key, value);
+ if (is_bool && shortlog_len)
+ shortlog_len = DEFAULT_MERGE_LOG_LEN;
}
return 0;
}