Browse Source

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>
maint
SZEDER Gábor 17 years ago committed by Junio C Hamano
parent
commit
6cd9cfefc5
  1. 18
      Documentation/git-fmt-merge-msg.txt
  2. 2
      Documentation/merge-config.txt
  3. 14
      builtin-fmt-merge-msg.c
  4. 54
      t/t6200-fmt-merge-msg.sh

18
Documentation/git-fmt-merge-msg.txt

@ -9,8 +9,8 @@ git-fmt-merge-msg - Produce a merge commit message @@ -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`. @@ -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 @@ -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
Documentation/merge-config.txt

@ -2,7 +2,7 @@ merge.stat:: @@ -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.


14
builtin-fmt-merge-msg.c

@ -6,13 +6,18 @@ @@ -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) @@ -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)

54
t/t6200-fmt-merge-msg.sh

@ -106,8 +106,24 @@ Merge branch 'left' @@ -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' @@ -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' ' @@ -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…
Cancel
Save