fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable
authorSZEDER Gábor <szeder@ira.uka.de>
Sun, 6 Apr 2008 01:23:45 +0000 (03:23 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 13 Apr 2008 02:28:18 +0000 (19:28 -0700)
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>
Documentation/git-fmt-merge-msg.txt
Documentation/merge-config.txt
builtin-fmt-merge-msg.c
t/t6200-fmt-merge-msg.sh
index 8615ae353e91fa1de0d17c7c3f8ea777ac62e209..457cf425619dc1680fae510aceb20574b02be602 100644 (file)
@@ -9,8 +9,8 @@ git-fmt-merge-msg - Produce a merge commit message
 SYNOPSIS
 --------
 [verse]
 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
 -----------
 
 DESCRIPTION
 -----------
@@ -24,15 +24,19 @@ automatically invoking `git-merge`.
 OPTIONS
 -------
 
 OPTIONS
 -------
 
---summary::
+--log::
        In addition to branch names, populate the log message with
        one-line descriptions from the actual commits that are being
        merged.
 
        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.
 
        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.
 --file <file>, -F <file>::
        Take the list of merged objects from <file> instead of
        stdin.
@@ -40,10 +44,14 @@ OPTIONS
 CONFIGURATION
 -------------
 
 CONFIGURATION
 -------------
 
-merge.summary::
+merge.log::
        Whether to include summaries of merged commits in newly
        merge commit messages. False by default.
 
        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]
 SEE ALSO
 --------
 linkgit:git-merge[1]
index 6d0a7971c2f229b20c121b821731e70897f0b1b2..9719311b42f1beadeca752888dbd12a05ce511f8 100644 (file)
@@ -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.
 
        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.
 
        Whether to include summaries of merged commits in newly created
        merge commit messages. False by default.
 
index ebb3f37cf158dc479f364111893279805fa9a230..d49f5454e8d77a090fca28ce5f5b7db93f14287b 100644 (file)
@@ -6,13 +6,18 @@
 #include "tag.h"
 
 static const char *fmt_merge_msg_usage =
 #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)
 {
 
 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;
 }
                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) {
        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;
                        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)
                        merge_summary = 0;
                else if (!strcmp(argv[1], "-F") || !strcmp(argv[1], "--file")) {
                        if (argc < 3)
index 526d7d1c4422e342c7257e260626dac3dda36a3a..bd4e49bf1e979a9b260a2aa23be60d15c911397a 100755 (executable)
@@ -106,8 +106,24 @@ Merge branch 'left'
   Common #1
 EOF
 
   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 &&
        git config merge.summary true &&
 
        git checkout master &&
@@ -136,8 +152,24 @@ Merge branches 'left' and 'right'
   Common #1
 EOF
 
   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 &&
        git config merge.summary true &&
 
        git checkout master &&
@@ -148,8 +180,24 @@ test_expect_success 'merge-msg test #4' '
        git diff actual expected
 '
 
        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 &&
        git config merge.summary yes &&
 
        git checkout master &&