Skip to content

Commit

Permalink
merge: Make 'merge.log' an integer or boolean option
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ramkumar Ramachandra authored and Junio C Hamano committed Sep 9, 2010
1 parent 96e9420 commit bda3b8f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 14 deletions.
6 changes: 4 additions & 2 deletions Documentation/git-fmt-merge-msg.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 4 additions & 2 deletions Documentation/merge-config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 7 additions & 9 deletions builtin/fmt-merge-msg.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
7 changes: 6 additions & 1 deletion builtin/merge.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit bda3b8f

Please sign in to comment.