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>
This commit is contained in:
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::
Whether to include summaries of merged commits in newly
merge commit messages. False by default.
In addition to branch names, populate the log message with at
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::
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.
merge.log::
Whether to include summaries of merged commits in newly created
merge commit messages. False by default.
In addition to branch names, populate the log message with at
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::
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 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;
}

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"))
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) ? 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 git_diff_ui_config(k, v, cb);