fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable
These are new synonyms to the '--(no-)summary' option and the 'merge.summary' config variable, but are consistent with the soon to be added 'merge --(no-)log' options. The 'merge.summary' config variable and '--(no-)summary' options are still accepted, but are advertised to be removed in the future. 'merge.log' takes precedence over 'merge.summary' if they are both set inconsistently. Update documentation and tests accordingly. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3e6c0a3fe3
commit
6cd9cfefc5
@ -9,8 +9,8 @@ git-fmt-merge-msg - Produce a merge commit message
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
git-fmt-merge-msg [--summary | --no-summary] <$GIT_DIR/FETCH_HEAD
|
||||
git-fmt-merge-msg [--summary | --no-summary] -F <file>
|
||||
git-fmt-merge-msg [--log | --no-log] <$GIT_DIR/FETCH_HEAD
|
||||
git-fmt-merge-msg [--log | --no-log] -F <file>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -24,15 +24,19 @@ automatically invoking `git-merge`.
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
--summary::
|
||||
--log::
|
||||
In addition to branch names, populate the log message with
|
||||
one-line descriptions from the actual commits that are being
|
||||
merged.
|
||||
|
||||
--no-summary::
|
||||
--no-log::
|
||||
Do not list one-line descriptions from the actual commits being
|
||||
merged.
|
||||
|
||||
--summary,--no-summary::
|
||||
Synonyms to --log and --no-log; these are deprecated and will be
|
||||
removed in the future.
|
||||
|
||||
--file <file>, -F <file>::
|
||||
Take the list of merged objects from <file> instead of
|
||||
stdin.
|
||||
@ -40,10 +44,14 @@ OPTIONS
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
merge.summary::
|
||||
merge.log::
|
||||
Whether to include summaries of merged commits in newly
|
||||
merge commit messages. False by default.
|
||||
|
||||
merge.summary::
|
||||
Synonym to `merge.log`; this is deprecated and will be removed in
|
||||
the future.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-merge[1]
|
||||
|
@ -2,7 +2,7 @@ merge.stat::
|
||||
Whether to print the diffstat berween ORIG_HEAD and merge result
|
||||
at the end of the merge. True by default.
|
||||
|
||||
merge.summary::
|
||||
merge.log::
|
||||
Whether to include summaries of merged commits in newly created
|
||||
merge commit messages. False by default.
|
||||
|
||||
|
@ -6,13 +6,18 @@
|
||||
#include "tag.h"
|
||||
|
||||
static const char *fmt_merge_msg_usage =
|
||||
"git-fmt-merge-msg [--summary] [--no-summary] [--file <file>]";
|
||||
"git-fmt-merge-msg [--log] [--no-log] [--file <file>]";
|
||||
|
||||
static int merge_summary;
|
||||
|
||||
static int fmt_merge_msg_config(const char *key, const char *value)
|
||||
{
|
||||
if (!strcmp("merge.summary", key))
|
||||
static int found_merge_log = 0;
|
||||
if (!strcmp("merge.log", key)) {
|
||||
found_merge_log = 1;
|
||||
merge_summary = git_config_bool(key, value);
|
||||
}
|
||||
if (!found_merge_log && !strcmp("merge.summary", key))
|
||||
merge_summary = git_config_bool(key, value);
|
||||
return 0;
|
||||
}
|
||||
@ -250,9 +255,10 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)
|
||||
git_config(fmt_merge_msg_config);
|
||||
|
||||
while (argc > 1) {
|
||||
if (!strcmp(argv[1], "--summary"))
|
||||
if (!strcmp(argv[1], "--log") || !strcmp(argv[1], "--summary"))
|
||||
merge_summary = 1;
|
||||
else if (!strcmp(argv[1], "--no-summary"))
|
||||
else if (!strcmp(argv[1], "--no-log")
|
||||
|| !strcmp(argv[1], "--no-summary"))
|
||||
merge_summary = 0;
|
||||
else if (!strcmp(argv[1], "-F") || !strcmp(argv[1], "--file")) {
|
||||
if (argc < 3)
|
||||
|
@ -106,8 +106,24 @@ Merge branch 'left'
|
||||
Common #1
|
||||
EOF
|
||||
|
||||
test_expect_success 'merge-msg test #3' '
|
||||
test_expect_success 'merge-msg test #3-1' '
|
||||
|
||||
git config --unset-all merge.log
|
||||
git config --unset-all merge.summary
|
||||
git config merge.log true &&
|
||||
|
||||
git checkout master &&
|
||||
setdate &&
|
||||
git fetch . left &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
'
|
||||
|
||||
test_expect_success 'merge-msg test #3-2' '
|
||||
|
||||
git config --unset-all merge.log
|
||||
git config --unset-all merge.summary
|
||||
git config merge.summary true &&
|
||||
|
||||
git checkout master &&
|
||||
@ -136,8 +152,24 @@ Merge branches 'left' and 'right'
|
||||
Common #1
|
||||
EOF
|
||||
|
||||
test_expect_success 'merge-msg test #4' '
|
||||
test_expect_success 'merge-msg test #4-1' '
|
||||
|
||||
git config --unset-all merge.log
|
||||
git config --unset-all merge.summary
|
||||
git config merge.log true &&
|
||||
|
||||
git checkout master &&
|
||||
setdate &&
|
||||
git fetch . left right &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
'
|
||||
|
||||
test_expect_success 'merge-msg test #4-2' '
|
||||
|
||||
git config --unset-all merge.log
|
||||
git config --unset-all merge.summary
|
||||
git config merge.summary true &&
|
||||
|
||||
git checkout master &&
|
||||
@ -148,8 +180,24 @@ test_expect_success 'merge-msg test #4' '
|
||||
git diff actual expected
|
||||
'
|
||||
|
||||
test_expect_success 'merge-msg test #5' '
|
||||
test_expect_success 'merge-msg test #5-1' '
|
||||
|
||||
git config --unset-all merge.log
|
||||
git config --unset-all merge.summary
|
||||
git config merge.log yes &&
|
||||
|
||||
git checkout master &&
|
||||
setdate &&
|
||||
git fetch . left right &&
|
||||
|
||||
git fmt-merge-msg <.git/FETCH_HEAD >actual &&
|
||||
git diff actual expected
|
||||
'
|
||||
|
||||
test_expect_success 'merge-msg test #5-2' '
|
||||
|
||||
git config --unset-all merge.log
|
||||
git config --unset-all merge.summary
|
||||
git config merge.summary yes &&
|
||||
|
||||
git checkout master &&
|
||||
|
Loading…
Reference in New Issue
Block a user