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>
maint
Ramkumar Ramachandra 2010-09-08 23:29:55 +05:30 committed by Junio C Hamano
parent 96e9420cd3
commit bda3b8ff17
4 changed files with 21 additions and 14 deletions

View File

@ -54,8 +54,10 @@ CONFIGURATION
------------- -------------


merge.log:: merge.log::
Whether to include summaries of merged commits in newly In addition to branch names, populate the log message with at
merge commit messages. False by default. most the specified number of one-line descriptions from the
actual commits that are being merged. Defaults to false, and
true is a synoym for 20.


merge.summary:: merge.summary::
Synonym to `merge.log`; this is deprecated and will be removed in Synonym to `merge.log`; this is deprecated and will be removed in

View File

@ -7,8 +7,10 @@ merge.conflictstyle::
marker and the original text before the `=======` marker. marker and the original text before the `=======` marker.


merge.log:: merge.log::
Whether to include summaries of merged commits in newly created In addition to branch names, populate the log message with at
merge commit messages. False by default. most the specified number of one-line descriptions from the
actual commits that are being merged. Defaults to false, and
true is a synoym for 20.


merge.renameLimit:: merge.renameLimit::
The number of files to consider when performing rename detection The number of files to consider when performing rename detection

View File

@ -15,15 +15,13 @@ static int shortlog_len;


static int fmt_merge_msg_config(const char *key, const char *value, void *cb) static int fmt_merge_msg_config(const char *key, const char *value, void *cb)
{ {
static int found_merge_log = 0; if (!strcmp(key, "merge.log") || !strcmp(key, "merge.summary")) {
if (!strcmp("merge.log", key)) { int is_bool;
found_merge_log = 1; shortlog_len = git_config_bool_or_int(key, value, &is_bool);
shortlog_len = git_config_bool(key, value) ? DEFAULT_MERGE_LOG_LEN : 0; if (!is_bool && shortlog_len < 0)
return 0; return error("%s: negative length %s", key, value);
} if (is_bool && shortlog_len)
if (!found_merge_log && !strcmp("merge.summary", key)) { shortlog_len = DEFAULT_MERGE_LOG_LEN;
shortlog_len = git_config_bool(key, value) ? DEFAULT_MERGE_LOG_LEN : 0;
return 0;
} }
return 0; return 0;
} }

View File

@ -503,7 +503,12 @@ static int git_merge_config(const char *k, const char *v, void *cb)
else if (!strcmp(k, "pull.octopus")) else if (!strcmp(k, "pull.octopus"))
return git_config_string(&pull_octopus, k, v); return git_config_string(&pull_octopus, k, v);
else if (!strcmp(k, "merge.log") || !strcmp(k, "merge.summary")) { else if (!strcmp(k, "merge.log") || !strcmp(k, "merge.summary")) {
shortlog_len = git_config_bool(k, v) ? DEFAULT_MERGE_LOG_LEN : 0; int is_bool;
shortlog_len = git_config_bool_or_int(k, v, &is_bool);
if (!is_bool && shortlog_len < 0)
return error("%s: negative length %s", k, v);
if (is_bool && shortlog_len)
shortlog_len = DEFAULT_MERGE_LOG_LEN;
return 0; return 0;
} }
return git_diff_ui_config(k, v, cb); return git_diff_ui_config(k, v, cb);