{"thread":{"id":"12969","subject":"[PATCH 2/2] merge, pull: add option to put summary into the merge commit message","startedAt":"2008-04-03T09:03:14Z","lastAt":"2008-04-16T04:23:05Z","messageCount":32,"participants":["SZEDER Gábor","Jeff King","Teemu Likonen","Junio C Hamano","Jakub Narebski"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"73585","messageId":"1207213396-17370-1-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":null,"subject":"[PATCH 0/2] merge --summary vs. merge.summary","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-03T09:03:14Z","receivedAt":"2008-04-03T09:03:14Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"The documentation of 'git merge' says the following:\n\n    --summary\n    \tShow a diffstat at the end of the merge. The diffstat is also\n    \tcontrolled by the configuration option merge.diffstat.\n    \n    -n, --no-summary\n    \tDo not show diffstat at the end of the merge.\n\nand\n\n    merge.summary\n\tWhether to include summaries of merged commits in newly created\n\tmerge commit. False by default.\n\nSo the '--summary' option controls the printing of diffstat, while the\n'merge.summary' config variable controls the behaviour of 'fmt-merge-msg',\nand '--summary' and 'merge.diffstat' are controlling the same thing.  This\nis inconsistent and quite confusing.  In fact, it took me quite a while to\nfigure out, how Junio generates those nice merge commit messages, as I\nhave never actually read the meaning of 'merge.summary', thinking that it\nmust do the same as '--summary'.\n\nThese two patches will resolve this issue.\n\n\nBest,\nGÃ¡bor\n\n\n\nSZEDER GÃ¡bor (2):\n  merge, pull: rename '--summary' option to '--diffstat'\n  merge, pull: add option to put summary into the merge commit message\n\n Documentation/git-merge.txt            |    2 +-\n Documentation/merge-options.txt        |   13 +++++++++++--\n contrib/completion/git-completion.bash |    3 ++-\n git-merge.sh                           |   18 +++++++++++++-----\n git-pull.sh                            |   24 ++++++++++++++----------\n t/t7600-merge.sh                       |   22 ++++++++++++++++++----\n 6 files changed, 59 insertions(+), 23 deletions(-)\n"},{"id":"73582","messageId":"1207213396-17370-2-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1207213396-17370-1-git-send-email-szeder@ira.uka.de","subject":"[PATCH 1/2] merge, pull: rename '--summary' option to '--diffstat'","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-03T09:03:15Z","receivedAt":"2008-04-03T09:03:15Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Because this option does actually just that.  And now it's also consistent\nwith 'merge.diffstat'.\n\nThe patch also updates documentation, tests, and bash completion\naccordingly.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/git-merge.txt            |    2 +-\n Documentation/merge-options.txt        |    4 ++--\n contrib/completion/git-completion.bash |    2 +-\n git-merge.sh                           |    8 ++++----\n git-pull.sh                            |   16 ++++++++--------\n t/t7600-merge.sh                       |    6 +++---\n 6 files changed, 19 insertions(+), 19 deletions(-)\n\ndiff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt\nindex c136b10..d260ab1 100644\n--- a/Documentation/git-merge.txt\n+++ b/Documentation/git-merge.txt\n@@ -9,7 +9,7 @@ git-merge - Join two or more development histories together\n SYNOPSIS\n --------\n [verse]\n-'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]...\n+'git-merge' [-n] [--diffstat] [--no-commit] [--squash] [-s <strategy>]...\n \t[-m <msg>] <remote> <remote>...\n 'git-merge' <msg> HEAD <remote>...\n \ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 9f1fc82..edd13a5 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,8 +1,8 @@\n---summary::\n+--diffstat::\n \tShow a diffstat at the end of the merge. The diffstat is also\n \tcontrolled by the configuration option merge.diffstat.\n \n--n, \\--no-summary::\n+-n, \\--no-diffstat::\n \tDo not show diffstat at the end of the merge.\n \n --no-commit::\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 791e30f..2e6cad7 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -776,7 +776,7 @@ _git_merge ()\n \t\t;;\n \t--*)\n \t\t__gitcomp \"\n-\t\t\t--no-commit --no-summary --squash --strategy\n+\t\t\t--no-commit --no-diffstat --squash --strategy\n \t\t\t\"\n \t\treturn\n \tesac\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 7dbbb1d..739b466 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -8,8 +8,8 @@ OPTIONS_SPEC=\"\\\n git-merge [options] <remote>...\n git-merge [options] <msg> HEAD <remote>\n --\n-summary              show a diffstat at the end of the merge\n-n,no-summary         don't show a diffstat at the end of the merge\n+diffstat             show a diffstat at the end of the merge\n+n,no-diffstat        don't show a diffstat at the end of the merge\n squash               create a single commit instead of doing a merge\n commit               perform a commit if the merge sucesses (default)\n ff                   allow fast forward (default)\n@@ -148,9 +148,9 @@ merge_name () {\n parse_config () {\n \twhile test $# != 0; do\n \t\tcase \"$1\" in\n-\t\t-n|--no-summary)\n+\t\t-n|--no-diffstat)\n \t\t\tshow_diffstat=false ;;\n-\t\t--summary)\n+\t\t--diffstat)\n \t\t\tshow_diffstat=t ;;\n \t\t--squash)\n \t\t\ttest \"$allow_fast_forward\" = t ||\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 3ce32b5..6a46e14 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -4,7 +4,7 @@\n #\n # Fetch one or more remote refs and merge it/them into the current HEAD.\n \n-USAGE='[-n | --no-summary] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'\n+USAGE='[-n | --no-diffstat] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'\n LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEAD.'\n SUBDIRECTORY_OK=Yes\n OPTIONS_SPEC=\n@@ -16,18 +16,18 @@ cd_to_toplevel\n test -z \"$(git ls-files -u)\" ||\n \tdie \"You are in the middle of a conflicted merge.\"\n \n-strategy_args= no_summary= no_commit= squash= no_ff=\n+strategy_args= no_diffstat= no_commit= squash= no_ff=\n curr_branch=$(git symbolic-ref -q HEAD)\n curr_branch_short=$(echo \"$curr_branch\" | sed \"s|refs/heads/||\")\n rebase=$(git config --bool branch.$curr_branch_short.rebase)\n while :\n do\n \tcase \"$1\" in\n-\t-n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\\\n-\t\t--no-summa|--no-summar|--no-summary)\n-\t\tno_summary=-n ;;\n-\t--summary)\n-\t\tno_summary=$1\n+\t-n|--n|--no|--no-|--no-d|--no-di|--no-dif|--no-diff|\\\n+\t\t--no-diffs|--no-diffst|--no-diffsta|--no-diffstat)\n+\t\tno_diffstat=-n ;;\n+\t--diffstat)\n+\t\tno_diffstat=$1\n \t\t;;\n \t--no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)\n \t\tno_commit=--no-commit ;;\n@@ -176,5 +176,5 @@ merge_name=$(git fmt-merge-msg <\"$GIT_DIR/FETCH_HEAD\") || exit\n test true = \"$rebase\" &&\n \texec git-rebase $strategy_args --onto $merge_head \\\n \t${oldremoteref:-$merge_head}\n-exec git-merge $no_summary $no_commit $squash $no_ff $strategy_args \\\n+exec git-merge $no_diffstat $no_commit $squash $no_ff $strategy_args \\\n \t\"$merge_name\" HEAD $merge_head\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex 56869ac..bbbd580 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -368,7 +368,7 @@ test_expect_success 'override config option -n' '\n \tgit reset --hard c1 &&\n \tgit config branch.master.mergeoptions \"-n\" &&\n \ttest_tick &&\n-\tgit merge --summary c2 >diffstat.txt &&\n+\tgit merge --diffstat c2 >diffstat.txt &&\n \tverify_merge file result.1-5 msg.1-5 &&\n \tverify_parents $c1 $c2 &&\n \tif ! grep \"^ file |  *2 +-$\" diffstat.txt\n@@ -379,9 +379,9 @@ test_expect_success 'override config option -n' '\n \n test_debug 'gitk --all'\n \n-test_expect_success 'override config option --summary' '\n+test_expect_success 'override config option --diffstat' '\n \tgit reset --hard c1 &&\n-\tgit config branch.master.mergeoptions \"--summary\" &&\n+\tgit config branch.master.mergeoptions \"--diffstat\" &&\n \ttest_tick &&\n \tgit merge -n c2 >diffstat.txt &&\n \tverify_merge file result.1-5 msg.1-5 &&\n-- \n1.5.5.rc2.38.g3b417\n"},{"id":"73581","messageId":"1207213396-17370-3-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1207213396-17370-2-git-send-email-szeder@ira.uka.de","subject":"[PATCH 2/2] merge, pull: add option to put summary into the merge commit message","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-03T09:03:16Z","receivedAt":"2008-04-03T09:03:16Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"These options are basically the command line option equivalents of the\n'merge.summary' config variable, and are in sync with the options of\n'fmt-merge-msg'.\n\nThe patch also updates documentation and bash completion accordingly, and\nadds a test.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/merge-options.txt        |    9 +++++++++\n contrib/completion/git-completion.bash |    3 ++-\n git-merge.sh                           |   10 +++++++++-\n git-pull.sh                            |   10 +++++++---\n t/t7600-merge.sh                       |   16 +++++++++++++++-\n 5 files changed, 42 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex edd13a5..ece6040 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -5,6 +5,15 @@\n -n, \\--no-diffstat::\n \tDo not show diffstat at the end of the merge.\n \n+--summary::\n+\tIn addition to branch names, populate the log message with\n+\tone-line descriptions from the actual commits that are being\n+\tmerged.\n+\n+--no-summary::\n+\tDo not list one-line descriptions from the actual commits being\n+\tmerged.\n+\n --no-commit::\n \tPerform the merge but pretend the merge failed and do\n \tnot autocommit, to give the user a chance to inspect and\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 2e6cad7..8413b29 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -776,7 +776,8 @@ _git_merge ()\n \t\t;;\n \t--*)\n \t\t__gitcomp \"\n-\t\t\t--no-commit --no-diffstat --squash --strategy\n+\t\t\t--no-commit --no-diffstat --summary --no-summary\n+\t\t\t--squash --strategy\n \t\t\t\"\n \t\treturn\n \tesac\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 739b466..03bcfb1 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -10,6 +10,10 @@ git-merge [options] <msg> HEAD <remote>\n --\n diffstat             show a diffstat at the end of the merge\n n,no-diffstat        don't show a diffstat at the end of the merge\n+summary              put one-line descriptions of the merged commits into\n+                     the merge commit message\n+no-summary           don't put one-line descriptions of the merged commits\n+                     into the merge commit message\n squash               create a single commit instead of doing a merge\n commit               perform a commit if the merge sucesses (default)\n ff                   allow fast forward (default)\n@@ -152,6 +156,10 @@ parse_config () {\n \t\t\tshow_diffstat=false ;;\n \t\t--diffstat)\n \t\t\tshow_diffstat=t ;;\n+\t\t--summary)\n+\t\t\tsummary_arg=--summary ;;\n+\t\t--no-summary)\n+\t\t\tsummary_arg=--no-summary ;;\n \t\t--squash)\n \t\t\ttest \"$allow_fast_forward\" = t ||\n \t\t\t\tdie \"You cannot combine --squash with --no-ff.\"\n@@ -258,7 +266,7 @@ else\n \tmerge_name=$(for remote\n \t\tdo\n \t\t\tmerge_name \"$remote\"\n-\t\tdone | git fmt-merge-msg\n+\t\tdone | git fmt-merge-msg $summary_arg\n \t)\n \tmerge_msg=\"${merge_msg:+$merge_msg$LF$LF}$merge_name\"\n fi\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 6a46e14..99387c8 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -29,6 +29,10 @@ do\n \t--diffstat)\n \t\tno_diffstat=$1\n \t\t;;\n+\t--no-s|--no-su|--no-sum|--no-summ|--no-summa|--no-summar|--no-summary)\n+\t\tsummary_arg=--no-summary ;;\n+\t--s|--su|--sum|--summ|--summa|--summar|--summary)\n+\t\tsummary_arg=--summary ;;\n \t--no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)\n \t\tno_commit=--no-commit ;;\n \t--c|--co|--com|--comm|--commi|--commit)\n@@ -172,9 +176,9 @@ then\n \texit\n fi\n \n-merge_name=$(git fmt-merge-msg <\"$GIT_DIR/FETCH_HEAD\") || exit\n+merge_name=$(git fmt-merge-msg $summary_arg <\"$GIT_DIR/FETCH_HEAD\") || exit\n test true = \"$rebase\" &&\n \texec git-rebase $strategy_args --onto $merge_head \\\n \t${oldremoteref:-$merge_head}\n-exec git-merge $no_diffstat $no_commit $squash $no_ff $strategy_args \\\n-\t\"$merge_name\" HEAD $merge_head\n+exec git-merge $no_diffstat $no_commit $summary_arg $squash $no_ff \\\n+\t$strategy_args \"$merge_name\" HEAD $merge_head\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex bbbd580..a762d31 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -104,7 +104,11 @@ create_merge_msgs() {\n \tgit log --no-merges ^HEAD c2 >>squash.1-5 &&\n \techo \"Squashed commit of the following:\" >squash.1-5-9 &&\n \techo >>squash.1-5-9 &&\n-\tgit log --no-merges ^HEAD c2 c3 >>squash.1-5-9\n+\tgit log --no-merges ^HEAD c2 c3 >>squash.1-5-9 &&\n+\techo > msg.nosummary &&\n+\techo \"* commit 'c3':\" >msg.summary &&\n+\techo \"  commit 3\" >>msg.summary &&\n+\techo >>msg.summary\n }\n \n verify_diff() {\n@@ -441,6 +445,16 @@ test_expect_success 'merge c0 with c1 (ff overrides no-ff)' '\n \tverify_head $c1\n '\n \n+test_expect_success 'merge --summary' '\n+\tgit reset --hard c0 &&\n+\tgit merge --no-summary c2 &&\n+\tgit show -s --pretty=format:%b HEAD >msg.act &&\n+\tverify_diff msg.nosummary msg.act \"[OOPS] bad merge summary\" &&\n+\tgit merge --summary c3 &&\n+\tgit show -s --pretty=format:%b HEAD >msg.act &&\n+\tverify_diff msg.summary msg.act \"[OOPS] bad merge summary\"\n+'\n+\n test_debug 'gitk --all'\n \n test_done\n-- \n1.5.5.rc2.38.g3b417\n"},{"id":"73594","messageId":"20080403103056.GD6673@coredump.intra.peff.net","threadId":"12969","inReplyTo":"1207213396-17370-1-git-send-email-szeder@ira.uka.de","subject":"Re: [PATCH 0/2] merge --summary vs. merge.summary","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-04-03T10:30:56Z","receivedAt":"2008-04-03T10:30:56Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Apr 03, 2008 at 11:03:14AM +0200, SZEDER Gábor wrote:\n\n> So the '--summary' option controls the printing of diffstat, while the\n> 'merge.summary' config variable controls the behaviour of 'fmt-merge-msg',\n\nThink that --diffstat is probably a better name. But your series\nactually _changes_ the meaning of --summary, which is probably a bad\nidea for people who have scripted around these.\n\nThe problem is that you have two concepts with the same name; giving one\nof the concepts the name means that the other concept breaks.\n\nI think the most compatible way to go forward is to use two new names:\n\n  1. --summary (and --no- form) changes to --diffstat; --summary remains\n     as a compatibility alias for --diffstat.\n\n  2. merge.summary becomes merge.something_else, along with\n     --something-else support. merge.summary remains as a compatibility\n     option for merge.something_else.\n\nThough I can't think of a good \"something_else\". Given that there isn't\neven a command-line equivalent to merge.summary now, maybe just leave it\nas merge.summary, stop advertising --summary (even though it is a\ncompatibility alias, we officially call it --diffstat), and then there\nis less confusion on the part of documentation readers (though perhaps\nmore on the part of those who blindly try --summary).\n\n-Peff\n"},{"id":"73595","messageId":"20080403110359.GE32119@neumann","threadId":"12969","inReplyTo":"20080403103056.GD6673@coredump.intra.peff.net","subject":"Re: [PATCH 0/2] merge --summary vs. merge.summary","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-03T11:03:59Z","receivedAt":"2008-04-03T11:03:59Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Hi Jeff,\n\nOn Thu, Apr 03, 2008 at 06:30:56AM -0400, Jeff King wrote:\n> On Thu, Apr 03, 2008 at 11:03:14AM +0200, SZEDER Gábor wrote:\n> \n> > So the '--summary' option controls the printing of diffstat, while the\n> > 'merge.summary' config variable controls the behaviour of 'fmt-merge-msg',\n> \n> Think that --diffstat is probably a better name. But your series\n> actually _changes_ the meaning of --summary, which is probably a bad\n> idea for people who have scripted around these.\n> \n> The problem is that you have two concepts with the same name; giving one\n> of the concepts the name means that the other concept breaks.\nWell, I agree with you, and I had the same concerns you expressed\nhere.\n\n>   2. merge.summary becomes merge.something_else, along with\n>      --something-else support. merge.summary remains as a compatibility\n>      option for merge.something_else.\n>\n> Though I can't think of a good \"something_else\".\nMe neither.\n\n> Given that there isn't\n> even a command-line equivalent to merge.summary now, maybe just leave it\n> as merge.summary\nI think that the name of the command-line option and the config\nvariable should be in sync, so having merge.sync and --something-else\nis probably not a good idea.  Furthermore, I think it should also be\nsync with the options of fmt-merge-msg.\n\n\nRegards,\nGábor\n"},{"id":"73696","messageId":"1207406935-22144-1-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"20080403103056.GD6673@coredump.intra.peff.net","subject":"[PATCH] merge, pull: introduce '--diffstat' option","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-05T14:48:55Z","receivedAt":"2008-04-05T14:48:55Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"At present, the 'merge --summary' command line option and\n'merge.diffstat' config variable are controlling the same thing: whether\nto show a diffstat at the end of the merge or not.  This is inconsistent\nand confusing.\n\nThis patch adds the '--diffstat' and '--no-diffstat' options to 'merge'\nand 'pull', making the name of the command line option and the\nconfig variable consistent.  Documentation, tests, and bash completion\nare also updated accordingly.\n\nThe '--summary' and '--no-summary' options are still accepted, but are\nnot advertised.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\nBut there is still a conflict between the 'merge.summary' config\nvariable and the now not advertised '--summary' option, that should be\nresolved.\n\n Documentation/git-merge.txt            |    2 +-\n Documentation/merge-options.txt        |    4 ++--\n contrib/completion/git-completion.bash |    2 +-\n git-merge.sh                           |    8 ++++----\n git-pull.sh                            |   16 +++++++---------\n t/t7600-merge.sh                       |    6 +++---\n 6 files changed, 18 insertions(+), 20 deletions(-)\n\ndiff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt\nindex c136b10..d260ab1 100644\n--- a/Documentation/git-merge.txt\n+++ b/Documentation/git-merge.txt\n@@ -9,7 +9,7 @@ git-merge - Join two or more development histories together\n SYNOPSIS\n --------\n [verse]\n-'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]...\n+'git-merge' [-n] [--diffstat] [--no-commit] [--squash] [-s <strategy>]...\n \t[-m <msg>] <remote> <remote>...\n 'git-merge' <msg> HEAD <remote>...\n \ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 9f1fc82..edd13a5 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,8 +1,8 @@\n---summary::\n+--diffstat::\n \tShow a diffstat at the end of the merge. The diffstat is also\n \tcontrolled by the configuration option merge.diffstat.\n \n--n, \\--no-summary::\n+-n, \\--no-diffstat::\n \tDo not show diffstat at the end of the merge.\n \n --no-commit::\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 791e30f..2e6cad7 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -776,7 +776,7 @@ _git_merge ()\n \t\t;;\n \t--*)\n \t\t__gitcomp \"\n-\t\t\t--no-commit --no-summary --squash --strategy\n+\t\t\t--no-commit --no-diffstat --squash --strategy\n \t\t\t\"\n \t\treturn\n \tesac\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 7dbbb1d..b51eef8 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -8,8 +8,8 @@ OPTIONS_SPEC=\"\\\n git-merge [options] <remote>...\n git-merge [options] <msg> HEAD <remote>\n --\n-summary              show a diffstat at the end of the merge\n-n,no-summary         don't show a diffstat at the end of the merge\n+diffstat             show a diffstat at the end of the merge\n+n,no-diffstat        don't show a diffstat at the end of the merge\n squash               create a single commit instead of doing a merge\n commit               perform a commit if the merge sucesses (default)\n ff                   allow fast forward (default)\n@@ -148,9 +148,9 @@ merge_name () {\n parse_config () {\n \twhile test $# != 0; do\n \t\tcase \"$1\" in\n-\t\t-n|--no-summary)\n+\t\t-n|--no-diffstat|--no-summary)\n \t\t\tshow_diffstat=false ;;\n-\t\t--summary)\n+\t\t--diffstat|--summary)\n \t\t\tshow_diffstat=t ;;\n \t\t--squash)\n \t\t\ttest \"$allow_fast_forward\" = t ||\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 3ce32b5..20a2024 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -4,7 +4,7 @@\n #\n # Fetch one or more remote refs and merge it/them into the current HEAD.\n \n-USAGE='[-n | --no-summary] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'\n+USAGE='[-n | --no-diffstat] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'\n LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEAD.'\n SUBDIRECTORY_OK=Yes\n OPTIONS_SPEC=\n@@ -16,19 +16,17 @@ cd_to_toplevel\n test -z \"$(git ls-files -u)\" ||\n \tdie \"You are in the middle of a conflicted merge.\"\n \n-strategy_args= no_summary= no_commit= squash= no_ff=\n+strategy_args= no_diffstat= no_commit= squash= no_ff=\n curr_branch=$(git symbolic-ref -q HEAD)\n curr_branch_short=$(echo \"$curr_branch\" | sed \"s|refs/heads/||\")\n rebase=$(git config --bool branch.$curr_branch_short.rebase)\n while :\n do\n \tcase \"$1\" in\n-\t-n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\\\n-\t\t--no-summa|--no-summar|--no-summary)\n-\t\tno_summary=-n ;;\n-\t--summary)\n-\t\tno_summary=$1\n-\t\t;;\n+\t-n|--no-diffstat|--no-summary)\n+\t\tno_diffstat=-n ;;\n+\t--diffstat|--summary)\n+\t\tno_diffstat=$1 ;;\n \t--no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)\n \t\tno_commit=--no-commit ;;\n \t--c|--co|--com|--comm|--commi|--commit)\n@@ -176,5 +174,5 @@ merge_name=$(git fmt-merge-msg <\"$GIT_DIR/FETCH_HEAD\") || exit\n test true = \"$rebase\" &&\n \texec git-rebase $strategy_args --onto $merge_head \\\n \t${oldremoteref:-$merge_head}\n-exec git-merge $no_summary $no_commit $squash $no_ff $strategy_args \\\n+exec git-merge $no_diffstat $no_commit $squash $no_ff $strategy_args \\\n \t\"$merge_name\" HEAD $merge_head\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex 56869ac..bbbd580 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -368,7 +368,7 @@ test_expect_success 'override config option -n' '\n \tgit reset --hard c1 &&\n \tgit config branch.master.mergeoptions \"-n\" &&\n \ttest_tick &&\n-\tgit merge --summary c2 >diffstat.txt &&\n+\tgit merge --diffstat c2 >diffstat.txt &&\n \tverify_merge file result.1-5 msg.1-5 &&\n \tverify_parents $c1 $c2 &&\n \tif ! grep \"^ file |  *2 +-$\" diffstat.txt\n@@ -379,9 +379,9 @@ test_expect_success 'override config option -n' '\n \n test_debug 'gitk --all'\n \n-test_expect_success 'override config option --summary' '\n+test_expect_success 'override config option --diffstat' '\n \tgit reset --hard c1 &&\n-\tgit config branch.master.mergeoptions \"--summary\" &&\n+\tgit config branch.master.mergeoptions \"--diffstat\" &&\n \ttest_tick &&\n \tgit merge -n c2 >diffstat.txt &&\n \tverify_merge file result.1-5 msg.1-5 &&\n-- \n1.5.5.rc3.10.g79e34\n"},{"id":"73697","messageId":"200804051835.54097.tlikonen@iki.fi","threadId":"12969","inReplyTo":"1207406935-22144-1-git-send-email-szeder@ira.uka.de","subject":"Re: [PATCH] merge, pull: introduce '--diffstat' option","fromName":"Teemu Likonen","fromEmail":"tlikonen@iki.fi","sentAt":"2008-04-05T15:35:53Z","receivedAt":"2008-04-05T15:35:53Z","isPatch":true,"sender":{"key":"tlikonen@iki.fi","avatar":null},"body":"SZEDER Gábor kirjoitti:\n\n> At present, the 'merge --summary' command line option and\n> 'merge.diffstat' config variable are controlling the same thing:\n> whether to show a diffstat at the end of the merge or not.  This is\n> inconsistent and confusing.\n\n> But there is still a conflict between the 'merge.summary' config\n> variable and the now not advertised '--summary' option, that should\n> be resolved.\n\nI very much agree with you: --summary/--no-summary are logical and \nintuitive equivalents of merge.summary, as are --diffstat/--no-diffstat \nto merge.diffstat.\n\nHow about this: Officially and explicitly deprecate --(no-)summary and \nadvertise --(no-)diffstat as replacement. Also advertise that in some \nfuture release --(no-)summary will have different meaning (i.e. \nequivalent to merge.summary). There would be a reasonable (?) period \nbefore changing the meaning of --(no-)summary.\n\nThis is a bit hassle but I think in long term this would be a gain for \nGit's user interface. I believe these are not the kind of options that \nmany scripts vitally depend on, so the change would be pretty safe I \nthink.\n"},{"id":"73709","messageId":"7vtzigw2wo.fsf@gitster.siamese.dyndns.org","threadId":"12969","inReplyTo":"200804051835.54097.tlikonen@iki.fi","subject":"Re: [PATCH] merge, pull: introduce '--diffstat' option","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-04-05T18:51:51Z","receivedAt":"2008-04-05T18:51:51Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Teemu Likonen <tlikonen@iki.fi> writes:\n\n> How about this: Officially and explicitly deprecate --(no-)summary and \n> advertise --(no-)diffstat as replacement. Also advertise that in some \n> future release --(no-)summary will have different meaning (i.e. \n> equivalent to merge.summary). There would be a reasonable (?) period \n> before changing the meaning of --(no-)summary.\n>\n> This is a bit hassle...\n\nI'd favor, in the longer run:\n\n * --stat option to mean \"show the diffstat between ORIG_HEAD and merge\n   result\" (i.e. current --summary);\n\n * perhaps a new configuration merge.stat to control the default for the\n   above;\n\n * merge.log configuration to mean \"add list of one-line log to the merge\n   commit message\" (i.e. current merge.summary);\n\n * perhaps a --log option to override the config default for each\n   invocation.\n\n * deprecate --summary and merge.summary and remove them long after people\n   are used to the above new set.\n\nTransition needs to happen over time and across a major release bump.\n\nWe can do the first four in 1.5.6, and immediately declare deprecation,\nand removal of --summary/merge.summary perhaps in 1.6.0.  \n"},{"id":"73729","messageId":"1207445027-3152-1-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"7vtzigw2wo.fsf@gitster.siamese.dyndns.org","subject":"[PATCH 0/6] merge summary and diffstat options cleanup","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-06T01:23:41Z","receivedAt":"2008-04-06T01:23:41Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Sat, Apr 05, 2008 at 11:51:51AM -0700, Junio C Hamano wrote:\n> I'd favor, in the longer run:\n> \n>  * --stat option to mean \"show the diffstat between ORIG_HEAD and merge\n>    result\" (i.e. current --summary);\nI have only looked at the 'merge.diffstat' config variable, and wanted\nto make the command line option consistent with it.  But you are right,\n'--stat' is better, because it's in sync with other commands as well.\n\n>  * perhaps a new configuration merge.stat to control the default for the\n>    above;\n> \n>  * merge.log configuration to mean \"add list of one-line log to the merge\n>    commit message\" (i.e. current merge.summary);\n> \n>  * perhaps a --log option to override the config default for each\n>    invocation.\n> \n>  * deprecate --summary and merge.summary and remove them long after people\n>    are used to the above new set.\n> \n> Transition needs to happen over time and across a major release bump.\n> \n> We can do the first four in 1.5.6, and immediately declare\n> deprecation,\n> and removal of --summary/merge.summary perhaps in 1.6.0.  \n\nThe first patch is an independent documentation cleanup that could be\nmerged regardless of the other patches, but the others depend on it.\n\nPatches 2-5 are implementing your first four point.  Patch 4 not only\nadds the 'merge.log' config variable, but also adds corresponding\ncommand line options.\n\nFinally, the last patch removes all the deprecated stuff.\n\n\nSZEDER GÃ¡bor (6):\n  doc: moved merge.* config variables into separate merge-config.txt\n  merge, pull: introduce '--(no-)stat' option\n  add 'merge.stat' config variable\n  fmt-merge-msg: add '--(no-)log' options and 'merge.log' config\n    variable\n  merge, pull: add '--(no-)log' command line option\n  merge: remove deprecated summary and diffstat options and config\n    variables\n\n Documentation/config.txt               |   32 +----------------------------\n Documentation/git-fmt-merge-msg.txt    |   10 ++++----\n Documentation/git-merge.txt            |   15 +-----------\n Documentation/merge-config.txt         |   35 ++++++++++++++++++++++++++++++++\n Documentation/merge-options.txt        |   15 +++++++++++--\n builtin-fmt-merge-msg.c                |    8 +++---\n contrib/completion/git-completion.bash |    2 +-\n git-merge.sh                           |   18 ++++++++++------\n git-pull.sh                            |   20 +++++++++---------\n t/t6200-fmt-merge-msg.sh               |    6 ++--\n t/t7600-merge.sh                       |   22 ++++++++++++++++---\n 11 files changed, 102 insertions(+), 81 deletions(-)\n create mode 100644 Documentation/merge-config.txt\n"},{"id":"73724","messageId":"1207445027-3152-2-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1207445027-3152-1-git-send-email-szeder@ira.uka.de","subject":"[PATCH 1/6] doc: moved merge.* config variables into separate merge-config.txt","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-06T01:23:42Z","receivedAt":"2008-04-06T01:23:42Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Include the new file from config.txt and git-merge.txt.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/config.txt       |   32 +-------------------------------\n Documentation/git-merge.txt    |   13 +------------\n Documentation/merge-config.txt |   31 +++++++++++++++++++++++++++++++\n 3 files changed, 33 insertions(+), 43 deletions(-)\n create mode 100644 Documentation/merge-config.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 04c01c5..f009740 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -768,37 +768,7 @@ man.viewer::\n \tSpecify the programs that may be used to display help in the\n \t'man' format. See linkgit:git-help[1].\n \n-merge.summary::\n-\tWhether to include summaries of merged commits in newly created\n-\tmerge commit messages. False by default.\n-\n-merge.tool::\n-\tControls which merge resolution program is used by\n-\tlinkgit:git-mergetool[1].  Valid built-in values are: \"kdiff3\",\n-\t\"tkdiff\", \"meld\", \"xxdiff\", \"emerge\", \"vimdiff\", \"gvimdiff\", and\n-\t\"opendiff\".  Any other value is treated is custom merge tool\n-\tand there must be a corresponing mergetool.<tool>.cmd option.\n-\n-merge.verbosity::\n-\tControls the amount of output shown by the recursive merge\n-\tstrategy.  Level 0 outputs nothing except a final error\n-\tmessage if conflicts were detected. Level 1 outputs only\n-\tconflicts, 2 outputs conflicts and file changes.  Level 5 and\n-\tabove outputs debugging information.  The default is level 2.\n-\tCan be overridden by 'GIT_MERGE_VERBOSITY' environment variable.\n-\n-merge.<driver>.name::\n-\tDefines a human readable name for a custom low-level\n-\tmerge driver.  See linkgit:gitattributes[5] for details.\n-\n-merge.<driver>.driver::\n-\tDefines the command that implements a custom low-level\n-\tmerge driver.  See linkgit:gitattributes[5] for details.\n-\n-merge.<driver>.recursive::\n-\tNames a low-level merge driver to be used when\n-\tperforming an internal merge between common ancestors.\n-\tSee linkgit:gitattributes[5] for details.\n+include::merge-config.txt[]\n \n mergetool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\ndiff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt\nindex c136b10..821e21b 100644\n--- a/Documentation/git-merge.txt\n+++ b/Documentation/git-merge.txt\n@@ -46,18 +46,7 @@ linkgit:git-reset[1].\n \n CONFIGURATION\n -------------\n-\n-merge.summary::\n-\tWhether to include summaries of merged commits in newly\n-\tcreated merge commit. False by default.\n-\n-merge.verbosity::\n-\tControls the amount of output shown by the recursive merge\n-\tstrategy.  Level 0 outputs nothing except a final error\n-\tmessage if conflicts were detected. Level 1 outputs only\n-\tconflicts, 2 outputs conflicts and file changes.  Level 5 and\n-\tabove outputs debugging information.  The default is level 2.\n-\tCan be overridden by 'GIT_MERGE_VERBOSITY' environment variable.\n+include::merge-config.txt[]\n \n branch.<name>.mergeoptions::\n \tSets default options for merging into branch <name>. The syntax and\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nnew file mode 100644\nindex 0000000..cc815cc\n--- /dev/null\n+++ b/Documentation/merge-config.txt\n@@ -0,0 +1,31 @@\n+merge.summary::\n+\tWhether to include summaries of merged commits in newly created\n+\tmerge commit messages. False by default.\n+\n+merge.tool::\n+\tControls which merge resolution program is used by\n+\tlinkgit:git-mergetool[1].  Valid built-in values are: \"kdiff3\",\n+\t\"tkdiff\", \"meld\", \"xxdiff\", \"emerge\", \"vimdiff\", \"gvimdiff\", and\n+\t\"opendiff\".  Any other value is treated is custom merge tool\n+\tand there must be a corresponing mergetool.<tool>.cmd option.\n+\n+merge.verbosity::\n+\tControls the amount of output shown by the recursive merge\n+\tstrategy.  Level 0 outputs nothing except a final error\n+\tmessage if conflicts were detected. Level 1 outputs only\n+\tconflicts, 2 outputs conflicts and file changes.  Level 5 and\n+\tabove outputs debugging information.  The default is level 2.\n+\tCan be overridden by 'GIT_MERGE_VERBOSITY' environment variable.\n+\n+merge.<driver>.name::\n+\tDefines a human readable name for a custom low-level\n+\tmerge driver.  See linkgit:gitattributes[5] for details.\n+\n+merge.<driver>.driver::\n+\tDefines the command that implements a custom low-level\n+\tmerge driver.  See linkgit:gitattributes[5] for details.\n+\n+merge.<driver>.recursive::\n+\tNames a low-level merge driver to be used when\n+\tperforming an internal merge between common ancestors.\n+\tSee linkgit:gitattributes[5] for details.\n-- \n1.5.5.rc3.9.gba703\n"},{"id":"73727","messageId":"1207445027-3152-3-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1207445027-3152-2-git-send-email-szeder@ira.uka.de","subject":"[PATCH 2/6] merge, pull: introduce '--(no-)stat' option","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-06T01:23:43Z","receivedAt":"2008-04-06T01:23:43Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"This option has the same effect as '--(no-)summary' (i.e. whether to\nshow a diffsat at the end of the merge or not), and it is consistent\nwith the '--stat' option of other git commands.\n\nDocumentation, tests, and bash completion are updaed accordingly.\n\n'--(no-)summary' options are still accepted, but are not advertised.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/git-merge.txt            |    2 +-\n Documentation/merge-options.txt        |    4 ++--\n contrib/completion/git-completion.bash |    2 +-\n git-merge.sh                           |    8 ++++----\n git-pull.sh                            |   16 +++++++---------\n t/t7600-merge.sh                       |    6 +++---\n 6 files changed, 18 insertions(+), 20 deletions(-)\n\ndiff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt\nindex 821e21b..ef1f055 100644\n--- a/Documentation/git-merge.txt\n+++ b/Documentation/git-merge.txt\n@@ -9,7 +9,7 @@ git-merge - Join two or more development histories together\n SYNOPSIS\n --------\n [verse]\n-'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]...\n+'git-merge' [-n] [--stat] [--no-commit] [--squash] [-s <strategy>]...\n \t[-m <msg>] <remote> <remote>...\n 'git-merge' <msg> HEAD <remote>...\n \ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 9f1fc82..bc81580 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,8 +1,8 @@\n---summary::\n+--stat::\n \tShow a diffstat at the end of the merge. The diffstat is also\n \tcontrolled by the configuration option merge.diffstat.\n \n--n, \\--no-summary::\n+-n, \\--no-stat::\n \tDo not show diffstat at the end of the merge.\n \n --no-commit::\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 791e30f..6f3b78c 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -776,7 +776,7 @@ _git_merge ()\n \t\t;;\n \t--*)\n \t\t__gitcomp \"\n-\t\t\t--no-commit --no-summary --squash --strategy\n+\t\t\t--no-commit --no-stat --squash --strategy\n \t\t\t\"\n \t\treturn\n \tesac\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 7dbbb1d..1b693ad 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -8,8 +8,8 @@ OPTIONS_SPEC=\"\\\n git-merge [options] <remote>...\n git-merge [options] <msg> HEAD <remote>\n --\n-summary              show a diffstat at the end of the merge\n-n,no-summary         don't show a diffstat at the end of the merge\n+stat                 show a diffstat at the end of the merge\n+n,no-stat            don't show a diffstat at the end of the merge\n squash               create a single commit instead of doing a merge\n commit               perform a commit if the merge sucesses (default)\n ff                   allow fast forward (default)\n@@ -148,9 +148,9 @@ merge_name () {\n parse_config () {\n \twhile test $# != 0; do\n \t\tcase \"$1\" in\n-\t\t-n|--no-summary)\n+\t\t-n|--no-stat|--no-summary)\n \t\t\tshow_diffstat=false ;;\n-\t\t--summary)\n+\t\t--stat|--summary)\n \t\t\tshow_diffstat=t ;;\n \t\t--squash)\n \t\t\ttest \"$allow_fast_forward\" = t ||\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 3ce32b5..ed83ce1 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -4,7 +4,7 @@\n #\n # Fetch one or more remote refs and merge it/them into the current HEAD.\n \n-USAGE='[-n | --no-summary] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'\n+USAGE='[-n | --no-stat] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'\n LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEAD.'\n SUBDIRECTORY_OK=Yes\n OPTIONS_SPEC=\n@@ -16,19 +16,17 @@ cd_to_toplevel\n test -z \"$(git ls-files -u)\" ||\n \tdie \"You are in the middle of a conflicted merge.\"\n \n-strategy_args= no_summary= no_commit= squash= no_ff=\n+strategy_args= no_stat= no_commit= squash= no_ff=\n curr_branch=$(git symbolic-ref -q HEAD)\n curr_branch_short=$(echo \"$curr_branch\" | sed \"s|refs/heads/||\")\n rebase=$(git config --bool branch.$curr_branch_short.rebase)\n while :\n do\n \tcase \"$1\" in\n-\t-n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\\\n-\t\t--no-summa|--no-summar|--no-summary)\n-\t\tno_summary=-n ;;\n-\t--summary)\n-\t\tno_summary=$1\n-\t\t;;\n+\t-n|--no-stat|--no-summary)\n+\t\tno_stat=-n ;;\n+\t--stat|--summary)\n+\t\tno_stat=$1 ;;\n \t--no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)\n \t\tno_commit=--no-commit ;;\n \t--c|--co|--com|--comm|--commi|--commit)\n@@ -176,5 +174,5 @@ merge_name=$(git fmt-merge-msg <\"$GIT_DIR/FETCH_HEAD\") || exit\n test true = \"$rebase\" &&\n \texec git-rebase $strategy_args --onto $merge_head \\\n \t${oldremoteref:-$merge_head}\n-exec git-merge $no_summary $no_commit $squash $no_ff $strategy_args \\\n+exec git-merge $no_stat $no_commit $squash $no_ff $strategy_args \\\n \t\"$merge_name\" HEAD $merge_head\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex 56869ac..1d323ec 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -368,7 +368,7 @@ test_expect_success 'override config option -n' '\n \tgit reset --hard c1 &&\n \tgit config branch.master.mergeoptions \"-n\" &&\n \ttest_tick &&\n-\tgit merge --summary c2 >diffstat.txt &&\n+\tgit merge --stat c2 >diffstat.txt &&\n \tverify_merge file result.1-5 msg.1-5 &&\n \tverify_parents $c1 $c2 &&\n \tif ! grep \"^ file |  *2 +-$\" diffstat.txt\n@@ -379,9 +379,9 @@ test_expect_success 'override config option -n' '\n \n test_debug 'gitk --all'\n \n-test_expect_success 'override config option --summary' '\n+test_expect_success 'override config option --stat' '\n \tgit reset --hard c1 &&\n-\tgit config branch.master.mergeoptions \"--summary\" &&\n+\tgit config branch.master.mergeoptions \"--stat\" &&\n \ttest_tick &&\n \tgit merge -n c2 >diffstat.txt &&\n \tverify_merge file result.1-5 msg.1-5 &&\n-- \n1.5.5.rc3.9.gba703\n"},{"id":"73725","messageId":"1207445027-3152-4-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1207445027-3152-3-git-send-email-szeder@ira.uka.de","subject":"[PATCH 3/6] add 'merge.stat' config variable","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-06T01:23:44Z","receivedAt":"2008-04-06T01:23:44Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"This variable has the same effect, as 'merge.diffstat'.\nAlso mention it in the documentation.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/merge-config.txt  |    4 ++++\n Documentation/merge-options.txt |    2 +-\n git-merge.sh                    |    1 +\n 3 files changed, 6 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex cc815cc..6d0a797 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -1,3 +1,7 @@\n+merge.stat::\n+\tWhether to print the diffstat berween ORIG_HEAD and merge result\n+\tat the end of the merge.  True by default.\n+\n merge.summary::\n \tWhether to include summaries of merged commits in newly created\n \tmerge commit messages. False by default.\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex bc81580..b89ace8 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,6 +1,6 @@\n --stat::\n \tShow a diffstat at the end of the merge. The diffstat is also\n-\tcontrolled by the configuration option merge.diffstat.\n+\tcontrolled by the configuration option merge.stat.\n \n -n, \\--no-stat::\n \tDo not show diffstat at the end of the merge.\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 1b693ad..004e367 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -210,6 +210,7 @@ while test $args_left -lt $#; do shift; done\n \n if test -z \"$show_diffstat\"; then\n     test \"$(git config --bool merge.diffstat)\" = false && show_diffstat=false\n+    test \"$(git config --bool merge.stat)\" = false && show_diffstat=false\n     test -z \"$show_diffstat\" && show_diffstat=t\n fi\n \n-- \n1.5.5.rc3.9.gba703\n"},{"id":"73728","messageId":"1207445027-3152-5-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1207445027-3152-4-git-send-email-szeder@ira.uka.de","subject":"[PATCH 4/6] fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-06T01:23:45Z","receivedAt":"2008-04-06T01:23:45Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"These are doing the same as the '--(no-)summary' options or the\n'merge.summary' config variable, but are consistent with the soon to be\nadded 'merge --(no-)log' options.  The 'merge.summary' config variable\nand '--(no-)summary' options are still accepted, but are not advertised.\n'merge.log' takes precedence over 'merge.summary'.\n\nUpdate documentation and test accordingly.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/git-fmt-merge-msg.txt |   10 +++++-----\n Documentation/merge-config.txt      |    2 +-\n builtin-fmt-merge-msg.c             |   14 ++++++++++----\n t/t6200-fmt-merge-msg.sh            |    6 +++---\n 4 files changed, 19 insertions(+), 13 deletions(-)\n\ndiff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt\nindex 8615ae3..bf9c26b 100644\n--- a/Documentation/git-fmt-merge-msg.txt\n+++ b/Documentation/git-fmt-merge-msg.txt\n@@ -9,8 +9,8 @@ git-fmt-merge-msg - Produce a merge commit message\n SYNOPSIS\n --------\n [verse]\n-git-fmt-merge-msg [--summary | --no-summary] <$GIT_DIR/FETCH_HEAD\n-git-fmt-merge-msg [--summary | --no-summary] -F <file>\n+git-fmt-merge-msg [--log | --no-log] <$GIT_DIR/FETCH_HEAD\n+git-fmt-merge-msg [--log | --no-log] -F <file>\n \n DESCRIPTION\n -----------\n@@ -24,12 +24,12 @@ automatically invoking `git-merge`.\n OPTIONS\n -------\n \n---summary::\n+--log::\n \tIn addition to branch names, populate the log message with\n \tone-line descriptions from the actual commits that are being\n \tmerged.\n \n---no-summary::\n+--no-log::\n \tDo not list one-line descriptions from the actual commits being\n \tmerged.\n \n@@ -40,7 +40,7 @@ OPTIONS\n CONFIGURATION\n -------------\n \n-merge.summary::\n+merge.log::\n \tWhether to include summaries of merged commits in newly\n \tmerge commit messages. False by default.\n \ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 6d0a797..9719311 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -2,7 +2,7 @@ merge.stat::\n \tWhether to print the diffstat berween ORIG_HEAD and merge result\n \tat the end of the merge.  True by default.\n \n-merge.summary::\n+merge.log::\n \tWhether to include summaries of merged commits in newly created\n \tmerge commit messages. False by default.\n \ndiff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c\nindex ebb3f37..d49f545 100644\n--- a/builtin-fmt-merge-msg.c\n+++ b/builtin-fmt-merge-msg.c\n@@ -6,13 +6,18 @@\n #include \"tag.h\"\n \n static const char *fmt_merge_msg_usage =\n-\t\"git-fmt-merge-msg [--summary] [--no-summary] [--file <file>]\";\n+\t\"git-fmt-merge-msg [--log] [--no-log] [--file <file>]\";\n \n static int merge_summary;\n \n static int fmt_merge_msg_config(const char *key, const char *value)\n {\n-\tif (!strcmp(\"merge.summary\", key))\n+\tstatic int found_merge_log = 0;\n+\tif (!strcmp(\"merge.log\", key)) {\n+\t\tfound_merge_log = 1;\n+\t\tmerge_summary = git_config_bool(key, value);\n+\t}\n+\tif (!found_merge_log && !strcmp(\"merge.summary\", key))\n \t\tmerge_summary = git_config_bool(key, value);\n \treturn 0;\n }\n@@ -250,9 +255,10 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)\n \tgit_config(fmt_merge_msg_config);\n \n \twhile (argc > 1) {\n-\t\tif (!strcmp(argv[1], \"--summary\"))\n+\t\tif (!strcmp(argv[1], \"--log\") || !strcmp(argv[1], \"--summary\"))\n \t\t\tmerge_summary = 1;\n-\t\telse if (!strcmp(argv[1], \"--no-summary\"))\n+\t\telse if (!strcmp(argv[1], \"--no-log\")\n+\t\t\t\t|| !strcmp(argv[1], \"--no-summary\"))\n \t\t\tmerge_summary = 0;\n \t\telse if (!strcmp(argv[1], \"-F\") || !strcmp(argv[1], \"--file\")) {\n \t\t\tif (argc < 3)\ndiff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh\nindex 9f70afc..1a04b89 100755\n--- a/t/t6200-fmt-merge-msg.sh\n+++ b/t/t6200-fmt-merge-msg.sh\n@@ -107,7 +107,7 @@ EOF\n \n test_expect_success 'merge-msg test #3' '\n \n-\tgit config merge.summary true &&\n+\tgit config merge.log true &&\n \n \tgit checkout master &&\n \tsetdate &&\n@@ -137,7 +137,7 @@ EOF\n \n test_expect_success 'merge-msg test #4' '\n \n-\tgit config merge.summary true &&\n+\tgit config merge.log true &&\n \n \tgit checkout master &&\n \tsetdate &&\n@@ -149,7 +149,7 @@ test_expect_success 'merge-msg test #4' '\n \n test_expect_success 'merge-msg test #5' '\n \n-\tgit config merge.summary yes &&\n+\tgit config merge.log yes &&\n \n \tgit checkout master &&\n \tsetdate &&\n-- \n1.5.5.rc3.9.gba703\n"},{"id":"73730","messageId":"1207445027-3152-6-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1207445027-3152-5-git-send-email-szeder@ira.uka.de","subject":"[PATCH 5/6] merge, pull: add '--(no-)log' command line option","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-06T01:23:46Z","receivedAt":"2008-04-06T01:23:46Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"These are the command line option equivalents of the 'merge.log' config\nvariable.\n\nThe patch also updates documentation and bash completion accordingly, and\nadds a test.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/merge-options.txt        |    9 +++++++++\n contrib/completion/git-completion.bash |    2 +-\n git-merge.sh                           |    8 ++++++--\n git-pull.sh                            |    8 +++++---\n t/t7600-merge.sh                       |   16 +++++++++++++++-\n 5 files changed, 36 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex b89ace8..0333913 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -5,6 +5,15 @@\n -n, \\--no-stat::\n \tDo not show diffstat at the end of the merge.\n \n+--log::\n+\tIn addition to branch names, populate the log message with\n+\tone-line descriptions from the actual commits that are being\n+\tmerged.\n+\n+--no-log::\n+\tDo not list one-line descriptions from the actual commits being\n+\tmerged.\n+\n --no-commit::\n \tPerform the merge but pretend the merge failed and do\n \tnot autocommit, to give the user a chance to inspect and\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 6f3b78c..5880dbe 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -776,7 +776,7 @@ _git_merge ()\n \t\t;;\n \t--*)\n \t\t__gitcomp \"\n-\t\t\t--no-commit --no-stat --squash --strategy\n+\t\t\t--no-commit --no-stat --log --no-log --squash --strategy\n \t\t\t\"\n \t\treturn\n \tesac\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 004e367..a903e2b 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -10,6 +10,8 @@ git-merge [options] <msg> HEAD <remote>\n --\n stat                 show a diffstat at the end of the merge\n n,no-stat            don't show a diffstat at the end of the merge\n+log                  add list of one-line log to merge commit message\n+no-log               don't add list of one-line log to merge commit message\n squash               create a single commit instead of doing a merge\n commit               perform a commit if the merge sucesses (default)\n ff                   allow fast forward (default)\n@@ -37,7 +39,7 @@ use_strategies=\n \n allow_fast_forward=t\n allow_trivial_merge=t\n-squash= no_commit=\n+squash= no_commit= log_arg=\n \n dropsave() {\n \trm -f -- \"$GIT_DIR/MERGE_HEAD\" \"$GIT_DIR/MERGE_MSG\" \\\n@@ -152,6 +154,8 @@ parse_config () {\n \t\t\tshow_diffstat=false ;;\n \t\t--stat|--summary)\n \t\t\tshow_diffstat=t ;;\n+\t\t--log|--no-log)\n+\t\t\tlog_arg=$1 ;;\n \t\t--squash)\n \t\t\ttest \"$allow_fast_forward\" = t ||\n \t\t\t\tdie \"You cannot combine --squash with --no-ff.\"\n@@ -259,7 +263,7 @@ else\n \tmerge_name=$(for remote\n \t\tdo\n \t\t\tmerge_name \"$remote\"\n-\t\tdone | git fmt-merge-msg\n+\t\tdone | git fmt-merge-msg $log_arg\n \t)\n \tmerge_msg=\"${merge_msg:+$merge_msg$LF$LF}$merge_name\"\n fi\ndiff --git a/git-pull.sh b/git-pull.sh\nindex ed83ce1..bf0c298 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -16,7 +16,7 @@ cd_to_toplevel\n test -z \"$(git ls-files -u)\" ||\n \tdie \"You are in the middle of a conflicted merge.\"\n \n-strategy_args= no_stat= no_commit= squash= no_ff=\n+strategy_args= no_stat= no_commit= squash= no_ff= log_arg=\n curr_branch=$(git symbolic-ref -q HEAD)\n curr_branch_short=$(echo \"$curr_branch\" | sed \"s|refs/heads/||\")\n rebase=$(git config --bool branch.$curr_branch_short.rebase)\n@@ -27,6 +27,8 @@ do\n \t\tno_stat=-n ;;\n \t--stat|--summary)\n \t\tno_stat=$1 ;;\n+\t--log|--no-log)\n+\t\tlog_arg=$1 ;;\n \t--no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)\n \t\tno_commit=--no-commit ;;\n \t--c|--co|--com|--comm|--commi|--commit)\n@@ -170,9 +172,9 @@ then\n \texit\n fi\n \n-merge_name=$(git fmt-merge-msg <\"$GIT_DIR/FETCH_HEAD\") || exit\n+merge_name=$(git fmt-merge-msg $log_arg <\"$GIT_DIR/FETCH_HEAD\") || exit\n test true = \"$rebase\" &&\n \texec git-rebase $strategy_args --onto $merge_head \\\n \t${oldremoteref:-$merge_head}\n-exec git-merge $no_stat $no_commit $squash $no_ff $strategy_args \\\n+exec git-merge $no_stat $no_commit $squash $no_ff $log_arg $strategy_args \\\n \t\"$merge_name\" HEAD $merge_head\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex 1d323ec..dd1b2d7 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -104,7 +104,11 @@ create_merge_msgs() {\n \tgit log --no-merges ^HEAD c2 >>squash.1-5 &&\n \techo \"Squashed commit of the following:\" >squash.1-5-9 &&\n \techo >>squash.1-5-9 &&\n-\tgit log --no-merges ^HEAD c2 c3 >>squash.1-5-9\n+\tgit log --no-merges ^HEAD c2 c3 >>squash.1-5-9 &&\n+\techo > msg.nolog &&\n+\techo \"* commit 'c3':\" >msg.log &&\n+\techo \"  commit 3\" >>msg.log &&\n+\techo >>msg.log\n }\n \n verify_diff() {\n@@ -441,6 +445,16 @@ test_expect_success 'merge c0 with c1 (ff overrides no-ff)' '\n \tverify_head $c1\n '\n \n+test_expect_success 'merge log message' '\n+\tgit reset --hard c0 &&\n+\tgit merge --no-log c2 &&\n+\tgit show -s --pretty=format:%b HEAD >msg.act &&\n+\tverify_diff msg.nolog msg.act \"[OOPS] bad merge log message\" &&\n+\tgit merge --log c3 &&\n+\tgit show -s --pretty=format:%b HEAD >msg.act &&\n+\tverify_diff msg.log msg.act \"[OOPS] bad merge log message\"\n+'\n+\n test_debug 'gitk --all'\n \n test_done\n-- \n1.5.5.rc3.9.gba703\n"},{"id":"73726","messageId":"1207445027-3152-7-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1207445027-3152-6-git-send-email-szeder@ira.uka.de","subject":"[PATCH 6/6] merge: remove deprecated summary and diffstat options and config variables","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-06T01:23:47Z","receivedAt":"2008-04-06T01:23:47Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Also remove them from 'pull' and 'fmt-merge-msg'.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n builtin-fmt-merge-msg.c |   12 +++---------\n git-merge.sh            |    5 ++---\n git-pull.sh             |    4 ++--\n 3 files changed, 7 insertions(+), 14 deletions(-)\n\ndiff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c\nindex d49f545..0bf87c1 100644\n--- a/builtin-fmt-merge-msg.c\n+++ b/builtin-fmt-merge-msg.c\n@@ -12,12 +12,7 @@ static int merge_summary;\n \n static int fmt_merge_msg_config(const char *key, const char *value)\n {\n-\tstatic int found_merge_log = 0;\n-\tif (!strcmp(\"merge.log\", key)) {\n-\t\tfound_merge_log = 1;\n-\t\tmerge_summary = git_config_bool(key, value);\n-\t}\n-\tif (!found_merge_log && !strcmp(\"merge.summary\", key))\n+\tif (!strcmp(\"merge.log\", key))\n \t\tmerge_summary = git_config_bool(key, value);\n \treturn 0;\n }\n@@ -255,10 +250,9 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)\n \tgit_config(fmt_merge_msg_config);\n \n \twhile (argc > 1) {\n-\t\tif (!strcmp(argv[1], \"--log\") || !strcmp(argv[1], \"--summary\"))\n+\t\tif (!strcmp(argv[1], \"--log\"))\n \t\t\tmerge_summary = 1;\n-\t\telse if (!strcmp(argv[1], \"--no-log\")\n-\t\t\t\t|| !strcmp(argv[1], \"--no-summary\"))\n+\t\telse if (!strcmp(argv[1], \"--no-log\"))\n \t\t\tmerge_summary = 0;\n \t\telse if (!strcmp(argv[1], \"-F\") || !strcmp(argv[1], \"--file\")) {\n \t\t\tif (argc < 3)\ndiff --git a/git-merge.sh b/git-merge.sh\nindex a903e2b..db79851 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -150,9 +150,9 @@ merge_name () {\n parse_config () {\n \twhile test $# != 0; do\n \t\tcase \"$1\" in\n-\t\t-n|--no-stat|--no-summary)\n+\t\t-n|--no-stat)\n \t\t\tshow_diffstat=false ;;\n-\t\t--stat|--summary)\n+\t\t--stat)\n \t\t\tshow_diffstat=t ;;\n \t\t--log|--no-log)\n \t\t\tlog_arg=$1 ;;\n@@ -213,7 +213,6 @@ parse_config \"$@\"\n while test $args_left -lt $#; do shift; done\n \n if test -z \"$show_diffstat\"; then\n-    test \"$(git config --bool merge.diffstat)\" = false && show_diffstat=false\n     test \"$(git config --bool merge.stat)\" = false && show_diffstat=false\n     test -z \"$show_diffstat\" && show_diffstat=t\n fi\ndiff --git a/git-pull.sh b/git-pull.sh\nindex bf0c298..11d37a6 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -23,9 +23,9 @@ rebase=$(git config --bool branch.$curr_branch_short.rebase)\n while :\n do\n \tcase \"$1\" in\n-\t-n|--no-stat|--no-summary)\n+\t-n|--no-stat)\n \t\tno_stat=-n ;;\n-\t--stat|--summary)\n+\t--stat)\n \t\tno_stat=$1 ;;\n \t--log|--no-log)\n \t\tlog_arg=$1 ;;\n-- \n1.5.5.rc3.9.gba703\n"},{"id":"73731","messageId":"7vzls7so8m.fsf@gitster.siamese.dyndns.org","threadId":"12969","inReplyTo":"1207445027-3152-3-git-send-email-szeder@ira.uka.de","subject":"Re: [PATCH 2/6] merge, pull: introduce '--(no-)stat' option","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-04-06T02:36:57Z","receivedAt":"2008-04-06T02:36:57Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"SZEDER Gábor <szeder@ira.uka.de> writes:\n\n> '--(no-)summary' options are still accepted, but are not advertised.\n\nGiven that...\n\n> diff --git a/git-merge.sh b/git-merge.sh\n> index 7dbbb1d..1b693ad 100755\n> --- a/git-merge.sh\n> +++ b/git-merge.sh\n> @@ -8,8 +8,8 @@ OPTIONS_SPEC=\"\\\n>  git-merge [options] <remote>...\n>  git-merge [options] <msg> HEAD <remote>\n>  --\n> -summary              show a diffstat at the end of the merge\n> -n,no-summary         don't show a diffstat at the end of the merge\n> +stat                 show a diffstat at the end of the merge\n> +n,no-stat            don't show a diffstat at the end of the merge\n>  squash               create a single commit instead of doing a merge\n>  commit               perform a commit if the merge sucesses (default)\n>  ff                   allow fast forward (default)\n\n...this hunk removes the original options from OPTIONS_SPEC, I suspect you\nwould get \"unknown option 'stat'\" from underlying \"git rev-parse --parseopt\".\n\nYou probably haven't noticed the breakage because you replaced all\nexisting --summary with --stat in the tests, though.  Oops.\n\nWe would want to take a three-stage approach where we (1) start accepting\nboth forms without changing the official names shown to the users, (2)\ndeprecate the old names and make the new ones official, and then (3)\nfinally remove the old ones.  Your 2 thru 5 roll (1) and (2) into one\nstep.\n\nI would not have major problem with this \"hasty deprecation\" in \"usage\"\nstrings, but I find it somewhat problematic to stop mentioning the old\nnames in the documentation and bash completion from day one.  People learn\nold names elsewhere (e.g. in somebody's blog entry) and then try to find\nthe description in their manual and they are already removed from your\ncopy.  Oops.\n\nSo I pretty much prefer to have an explicit deprecation period where both\nforms are not just accepted but described as equals, but with the older\nones marked clearly as deprecated and planned for removal, so that people\nwould know what is going on.\n\nOther than that, the rest of the series looked Ok from my cursory review.\n"},{"id":"73742","messageId":"20080406135304.GA24269@coredump.intra.peff.net","threadId":"12969","inReplyTo":"7vtzigw2wo.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] merge, pull: introduce '--diffstat' option","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-04-06T13:53:05Z","receivedAt":"2008-04-06T13:53:05Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Apr 05, 2008 at 11:51:51AM -0700, Junio C Hamano wrote:\n\n> I'd favor, in the longer run:\n> \n>  * --stat option to mean \"show the diffstat between ORIG_HEAD and merge\n>    result\" (i.e. current --summary);\n> \n>  * perhaps a new configuration merge.stat to control the default for the\n>    above;\n> \n>  * merge.log configuration to mean \"add list of one-line log to the merge\n>    commit message\" (i.e. current merge.summary);\n> \n>  * perhaps a --log option to override the config default for each\n>    invocation.\n> \n>  * deprecate --summary and merge.summary and remove them long after people\n>    are used to the above new set.\n\nI'll add a belated \"yes I agree\" to this. This is what I was trying to\ndescribe earlier in the thread, but for some reason couldn't think of\nthe obvious name \"log\" to replace merge.summary. :)\n\n-Peff\n"},{"id":"73743","messageId":"ftan87$5oq$1@ger.gmane.org","threadId":"12969","inReplyTo":"20080406135304.GA24269@coredump.intra.peff.net","subject":"Re: [PATCH] merge, pull: introduce '--diffstat' option","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2008-04-06T14:37:54Z","receivedAt":"2008-04-06T14:37:54Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Jeff King wrote:\n> On Sat, Apr 05, 2008 at 11:51:51AM -0700, Junio C Hamano wrote:\n\n>>  * perhaps a --log option to override the config default for each\n>>    invocation.\n[...]\n> \n> I'll add a belated \"yes I agree\" to this. This is what I was trying to\n> describe earlier in the thread, but for some reason couldn't think of\n> the obvious name \"log\" to replace merge.summary. :)\n\nIt looks more like --shortlog, by the way...\n\n(Stupid backwards compatibility...)\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"74505","messageId":"1208306351-20922-1-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"7vzls7so8m.fsf@gitster.siamese.dyndns.org","subject":"[PATCH v2 00/12] merge summary and diffstat options cleanup","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:38:59Z","receivedAt":"2008-04-16T00:38:59Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"On Sat, Apr 05, 2008 at 07:36:57PM -0700, Junio C Hamano wrote:\n> ...this hunk removes the original options from OPTIONS_SPEC, I suspect you\n> would get \"unknown option 'stat'\" from underlying \"git rev-parse --parseopt\".\n> \n> You probably haven't noticed the breakage because you replaced all\n> existing --summary with --stat in the tests, though.  Oops.\nIt was not clear to me that this OPTIONS_SPEC is used for parsing,\ntoo.  This series fixes the problem.\n\n> We would want to take a three-stage approach where we (1) start accepting\n> both forms without changing the official names shown to the users, (2)\n> deprecate the old names and make the new ones official, and then (3)\n> finally remove the old ones.  Your 2 thru 5 roll (1) and (2) into one\n> step.\n> \n> I would not have major problem with this \"hasty deprecation\" in \"usage\"\n> strings, but I find it somewhat problematic to stop mentioning the old\n> names in the documentation and bash completion from day one.  People learn\n> old names elsewhere (e.g. in somebody's blog entry) and then try to find\n> the description in their manual and they are already removed from your\n> copy.  Oops.\nYeah, you are right that deprecated options should not be removed from\nthe documentation.\n\nHowever, I think that rolling (1) and (2) into one step is better than\nhaving them separate.  If we have the two steps separate will also\ncause confusion, as users learning merge & co. between (1) and (2) \nmight wonder, why are there two options for the same thing and which\none should they prefer.  They might even suspect that one of the \noptions will be deprecated in the future, but they will not be able to\ntell which without looking at e.g. the mailing list archives.  I would\nalso prefer to remove the deprecated options and config variables from\nbash completion, because their users will then notice earlier that the\noptions are deprecated.\n\nBut anyway, in this patch series steps (1) and (2) are split into\nseparate set of patches, so you can decide to have steps (1) and (2)\nseparately or not.\n\nThe first six patches are adding the new options and config variables\nto merge, pull, and fmt-merge-msg, but are not deprecating the old\nones.  They are also updating documentation, tests, and bash\ncompletion accordingly.  (Patches 1 and 4 are independent cleanups\nthat could be merged regardless of the other patches, but the others\nare depending on them.)\n\nPatches 7-9 are marking the old options and config variables as\ndeprecated.\n\nAnd finally, patches 10-12 are removing all the deprecated stuff, but\nthey are there only for illustration purposes at the moment, to see\nhow things will look like after the deprecation period.\n\n\nSZEDER GÃ¡bor (12):\n  doc: moved merge.* config variables into separate merge-config.txt\n  merge, pull: introduce '--(no-)stat' options\n  add 'merge.stat' config variable\n  t6200-fmt-merge-msg: put expected messages into different files\n  fmt-merge-msg: add '--(no-)log' options and 'merge.log' config\n    variable\n  merge, pull: add '--(no-)log' command line option\n  merge, pull: mark '--(no-)summary' options as deprecated\n  merge, pull: mark the config variable 'merge.diffstat' as deprecated\n  fmt-merge-msg: mark summary-related option and config variable as\n    deprecated\n  merge, pull: remove deprecated '--(no-)summary' options\n  merge, pull: remove deprecated 'merge.diffstat' config variable\n  fmt-merge-msg: remove deprecated summary-related options and config\n    variable\n\n Documentation/config.txt               |   32 +------------------\n Documentation/git-fmt-merge-msg.txt    |   10 +++---\n Documentation/git-merge.txt            |   17 ++--------\n Documentation/merge-config.txt         |   35 ++++++++++++++++++++\n Documentation/merge-options.txt        |   15 +++++++--\n builtin-fmt-merge-msg.c                |    8 ++--\n contrib/completion/git-completion.bash |    6 ++-\n git-merge.sh                           |   18 ++++++----\n git-pull.sh                            |   20 ++++++------\n t/t6200-fmt-merge-msg.sh               |   54 ++++++++++++++++++++++++-------\n t/t7600-merge.sh                       |   24 +++++++++++---\n 11 files changed, 146 insertions(+), 93 deletions(-)\n create mode 100644 Documentation/merge-config.txt\n"},{"id":"74512","messageId":"1208306351-20922-2-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-1-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 01/12] doc: moved merge.* config variables into separate merge-config.txt","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:00Z","receivedAt":"2008-04-16T00:39:00Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Include the new file from config.txt and git-merge.txt.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/config.txt       |   32 +-------------------------------\n Documentation/git-merge.txt    |   13 +------------\n Documentation/merge-config.txt |   31 +++++++++++++++++++++++++++++++\n 3 files changed, 33 insertions(+), 43 deletions(-)\n create mode 100644 Documentation/merge-config.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex fe43b12..bef6127 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -768,37 +768,7 @@ man.viewer::\n \tSpecify the programs that may be used to display help in the\n \t'man' format. See linkgit:git-help[1].\n \n-merge.summary::\n-\tWhether to include summaries of merged commits in newly created\n-\tmerge commit messages. False by default.\n-\n-merge.tool::\n-\tControls which merge resolution program is used by\n-\tlinkgit:git-mergetool[1].  Valid built-in values are: \"kdiff3\",\n-\t\"tkdiff\", \"meld\", \"xxdiff\", \"emerge\", \"vimdiff\", \"gvimdiff\", and\n-\t\"opendiff\".  Any other value is treated is custom merge tool\n-\tand there must be a corresponing mergetool.<tool>.cmd option.\n-\n-merge.verbosity::\n-\tControls the amount of output shown by the recursive merge\n-\tstrategy.  Level 0 outputs nothing except a final error\n-\tmessage if conflicts were detected. Level 1 outputs only\n-\tconflicts, 2 outputs conflicts and file changes.  Level 5 and\n-\tabove outputs debugging information.  The default is level 2.\n-\tCan be overridden by 'GIT_MERGE_VERBOSITY' environment variable.\n-\n-merge.<driver>.name::\n-\tDefines a human readable name for a custom low-level\n-\tmerge driver.  See linkgit:gitattributes[5] for details.\n-\n-merge.<driver>.driver::\n-\tDefines the command that implements a custom low-level\n-\tmerge driver.  See linkgit:gitattributes[5] for details.\n-\n-merge.<driver>.recursive::\n-\tNames a low-level merge driver to be used when\n-\tperforming an internal merge between common ancestors.\n-\tSee linkgit:gitattributes[5] for details.\n+include::merge-config.txt[]\n \n mergetool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\ndiff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt\nindex c136b10..821e21b 100644\n--- a/Documentation/git-merge.txt\n+++ b/Documentation/git-merge.txt\n@@ -46,18 +46,7 @@ linkgit:git-reset[1].\n \n CONFIGURATION\n -------------\n-\n-merge.summary::\n-\tWhether to include summaries of merged commits in newly\n-\tcreated merge commit. False by default.\n-\n-merge.verbosity::\n-\tControls the amount of output shown by the recursive merge\n-\tstrategy.  Level 0 outputs nothing except a final error\n-\tmessage if conflicts were detected. Level 1 outputs only\n-\tconflicts, 2 outputs conflicts and file changes.  Level 5 and\n-\tabove outputs debugging information.  The default is level 2.\n-\tCan be overridden by 'GIT_MERGE_VERBOSITY' environment variable.\n+include::merge-config.txt[]\n \n branch.<name>.mergeoptions::\n \tSets default options for merging into branch <name>. The syntax and\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nnew file mode 100644\nindex 0000000..cc815cc\n--- /dev/null\n+++ b/Documentation/merge-config.txt\n@@ -0,0 +1,31 @@\n+merge.summary::\n+\tWhether to include summaries of merged commits in newly created\n+\tmerge commit messages. False by default.\n+\n+merge.tool::\n+\tControls which merge resolution program is used by\n+\tlinkgit:git-mergetool[1].  Valid built-in values are: \"kdiff3\",\n+\t\"tkdiff\", \"meld\", \"xxdiff\", \"emerge\", \"vimdiff\", \"gvimdiff\", and\n+\t\"opendiff\".  Any other value is treated is custom merge tool\n+\tand there must be a corresponing mergetool.<tool>.cmd option.\n+\n+merge.verbosity::\n+\tControls the amount of output shown by the recursive merge\n+\tstrategy.  Level 0 outputs nothing except a final error\n+\tmessage if conflicts were detected. Level 1 outputs only\n+\tconflicts, 2 outputs conflicts and file changes.  Level 5 and\n+\tabove outputs debugging information.  The default is level 2.\n+\tCan be overridden by 'GIT_MERGE_VERBOSITY' environment variable.\n+\n+merge.<driver>.name::\n+\tDefines a human readable name for a custom low-level\n+\tmerge driver.  See linkgit:gitattributes[5] for details.\n+\n+merge.<driver>.driver::\n+\tDefines the command that implements a custom low-level\n+\tmerge driver.  See linkgit:gitattributes[5] for details.\n+\n+merge.<driver>.recursive::\n+\tNames a low-level merge driver to be used when\n+\tperforming an internal merge between common ancestors.\n+\tSee linkgit:gitattributes[5] for details.\n-- \n1.5.5.76.g546c\n"},{"id":"74495","messageId":"1208306351-20922-3-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-2-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 02/12] merge, pull: introduce '--(no-)stat' options","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:01Z","receivedAt":"2008-04-16T00:39:01Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"These options have the same effect as the current '--(no-)summary'\noptions (i.e. whether to show a diffsat at the end of the merge or not),\nand are consistent with the '--stat' option of other git commands.\n\nDocumentation, tests, and bash completion are updated accordingly.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/git-merge.txt            |    4 ++--\n Documentation/merge-options.txt        |    4 ++--\n contrib/completion/git-completion.bash |    2 +-\n git-merge.sh                           |   10 ++++++----\n git-pull.sh                            |   16 +++++++---------\n t/t7600-merge.sh                       |   21 ++++++++++++++++++---\n 6 files changed, 36 insertions(+), 21 deletions(-)\n\ndiff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt\nindex 821e21b..c514e3b 100644\n--- a/Documentation/git-merge.txt\n+++ b/Documentation/git-merge.txt\n@@ -9,8 +9,8 @@ git-merge - Join two or more development histories together\n SYNOPSIS\n --------\n [verse]\n-'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]...\n-\t[-m <msg>] <remote> <remote>...\n+'git-merge' [-n | --no-stat | --no-summary] [--stat | --summary] [--no-commit]\n+\t[--squash] [-s <strategy>]... [-m <msg>] <remote> <remote>...\n 'git-merge' <msg> HEAD <remote>...\n \n DESCRIPTION\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 9f1fc82..c82bc7e 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,8 +1,8 @@\n---summary::\n+--stat, \\--summary::\n \tShow a diffstat at the end of the merge. The diffstat is also\n \tcontrolled by the configuration option merge.diffstat.\n \n--n, \\--no-summary::\n+-n, \\--no-stat, \\--no-summary::\n \tDo not show diffstat at the end of the merge.\n \n --no-commit::\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 4d81963..5221a1a 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -779,7 +779,7 @@ _git_merge ()\n \t\t;;\n \t--*)\n \t\t__gitcomp \"\n-\t\t\t--no-commit --no-summary --squash --strategy\n+\t\t\t--no-commit --no-stat --no-summary --squash --strategy\n \t\t\t\"\n \t\treturn\n \tesac\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 7dbbb1d..cda78de 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -8,8 +8,10 @@ OPTIONS_SPEC=\"\\\n git-merge [options] <remote>...\n git-merge [options] <msg> HEAD <remote>\n --\n-summary              show a diffstat at the end of the merge\n-n,no-summary         don't show a diffstat at the end of the merge\n+stat                 show a diffstat at the end of the merge\n+n,no-stat            don't show a diffstat at the end of the merge\n+summary              equivalent to --stat\n+no-summary           equivalent to --no-stat\n squash               create a single commit instead of doing a merge\n commit               perform a commit if the merge sucesses (default)\n ff                   allow fast forward (default)\n@@ -148,9 +150,9 @@ merge_name () {\n parse_config () {\n \twhile test $# != 0; do\n \t\tcase \"$1\" in\n-\t\t-n|--no-summary)\n+\t\t-n|--no-stat|--no-summary)\n \t\t\tshow_diffstat=false ;;\n-\t\t--summary)\n+\t\t--stat|--summary)\n \t\t\tshow_diffstat=t ;;\n \t\t--squash)\n \t\t\ttest \"$allow_fast_forward\" = t ||\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 3ce32b5..0bac8ae 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -4,7 +4,7 @@\n #\n # Fetch one or more remote refs and merge it/them into the current HEAD.\n \n-USAGE='[-n | --no-summary] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'\n+USAGE='[-n | --no-stat | --no-summary] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'\n LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEAD.'\n SUBDIRECTORY_OK=Yes\n OPTIONS_SPEC=\n@@ -16,19 +16,17 @@ cd_to_toplevel\n test -z \"$(git ls-files -u)\" ||\n \tdie \"You are in the middle of a conflicted merge.\"\n \n-strategy_args= no_summary= no_commit= squash= no_ff=\n+strategy_args= no_stat= no_commit= squash= no_ff=\n curr_branch=$(git symbolic-ref -q HEAD)\n curr_branch_short=$(echo \"$curr_branch\" | sed \"s|refs/heads/||\")\n rebase=$(git config --bool branch.$curr_branch_short.rebase)\n while :\n do\n \tcase \"$1\" in\n-\t-n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\\\n-\t\t--no-summa|--no-summar|--no-summary)\n-\t\tno_summary=-n ;;\n-\t--summary)\n-\t\tno_summary=$1\n-\t\t;;\n+\t-n|--no-stat|--no-summary)\n+\t\tno_stat=-n ;;\n+\t--stat|--summary)\n+\t\tno_stat=$1 ;;\n \t--no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)\n \t\tno_commit=--no-commit ;;\n \t--c|--co|--com|--comm|--commi|--commit)\n@@ -176,5 +174,5 @@ merge_name=$(git fmt-merge-msg <\"$GIT_DIR/FETCH_HEAD\") || exit\n test true = \"$rebase\" &&\n \texec git-rebase $strategy_args --onto $merge_head \\\n \t${oldremoteref:-$merge_head}\n-exec git-merge $no_summary $no_commit $squash $no_ff $strategy_args \\\n+exec git-merge $no_stat $no_commit $squash $no_ff $strategy_args \\\n \t\"$merge_name\" HEAD $merge_head\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex 56869ac..e5b48fb 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -364,7 +364,22 @@ test_expect_success 'merge c1 with c2 (squash in config)' '\n \n test_debug 'gitk --all'\n \n-test_expect_success 'override config option -n' '\n+test_expect_success 'override config option -n with --stat' '\n+\tgit reset --hard c1 &&\n+\tgit config branch.master.mergeoptions \"-n\" &&\n+\ttest_tick &&\n+\tgit merge --stat c2 >diffstat.txt &&\n+\tverify_merge file result.1-5 msg.1-5 &&\n+\tverify_parents $c1 $c2 &&\n+\tif ! grep \"^ file |  *2 +-$\" diffstat.txt\n+\tthen\n+\t\techo \"[OOPS] diffstat was not generated\"\n+\tfi\n+'\n+\n+test_debug 'gitk --all'\n+\n+test_expect_success 'override config option -n with --summary' '\n \tgit reset --hard c1 &&\n \tgit config branch.master.mergeoptions \"-n\" &&\n \ttest_tick &&\n@@ -379,9 +394,9 @@ test_expect_success 'override config option -n' '\n \n test_debug 'gitk --all'\n \n-test_expect_success 'override config option --summary' '\n+test_expect_success 'override config option --stat' '\n \tgit reset --hard c1 &&\n-\tgit config branch.master.mergeoptions \"--summary\" &&\n+\tgit config branch.master.mergeoptions \"--stat\" &&\n \ttest_tick &&\n \tgit merge -n c2 >diffstat.txt &&\n \tverify_merge file result.1-5 msg.1-5 &&\n-- \n1.5.5.76.g546c\n"},{"id":"74513","messageId":"1208306351-20922-4-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-3-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 03/12] add 'merge.stat' config variable","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:02Z","receivedAt":"2008-04-16T00:39:02Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"This config variable has the same effect as the current\n'merge.diffstat', but its name is consistent with the related command\nline option.\n\nUpdate documentation and bash completion accordingly.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/merge-config.txt         |    5 +++++\n Documentation/merge-options.txt        |    3 ++-\n contrib/completion/git-completion.bash |    1 +\n git-merge.sh                           |    1 +\n 4 files changed, 9 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex cc815cc..15efc0d 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -1,3 +1,8 @@\n+merge.stat::\n+merge.diffstat::\n+\tWhether to print the diffstat berween ORIG_HEAD and merge result\n+\tat the end of the merge.  True by default.\n+\n merge.summary::\n \tWhether to include summaries of merged commits in newly created\n \tmerge commit messages. False by default.\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex c82bc7e..9c46dcb 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,6 +1,7 @@\n --stat, \\--summary::\n \tShow a diffstat at the end of the merge. The diffstat is also\n-\tcontrolled by the configuration option merge.diffstat.\n+\tcontrolled by the configuration option merge.stat (and the\n+\tequivalent merge.diffstat).\n \n -n, \\--no-stat, \\--no-summary::\n \tDo not show diffstat at the end of the merge.\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 5221a1a..4caff8d 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1022,6 +1022,7 @@ _git_config ()\n \t\ti18n.logOutputEncoding\n \t\tlog.showroot\n \t\tmerge.tool\n+\t\tmerge.stat\n \t\tmerge.summary\n \t\tmerge.verbosity\n \t\tpack.window\ndiff --git a/git-merge.sh b/git-merge.sh\nindex cda78de..a29a7ec 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -212,6 +212,7 @@ while test $args_left -lt $#; do shift; done\n \n if test -z \"$show_diffstat\"; then\n     test \"$(git config --bool merge.diffstat)\" = false && show_diffstat=false\n+    test \"$(git config --bool merge.stat)\" = false && show_diffstat=false\n     test -z \"$show_diffstat\" && show_diffstat=t\n fi\n \n-- \n1.5.5.76.g546c\n"},{"id":"74489","messageId":"1208306351-20922-5-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-4-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 04/12] t6200-fmt-merge-msg: put expected messages into different files","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:03Z","receivedAt":"2008-04-16T00:39:03Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n t/t6200-fmt-merge-msg.sh |   18 +++++++++---------\n 1 files changed, 9 insertions(+), 9 deletions(-)\n\ndiff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh\nindex 526d7d1..1af3ab2 100755\n--- a/t/t6200-fmt-merge-msg.sh\n+++ b/t/t6200-fmt-merge-msg.sh\n@@ -69,7 +69,7 @@ test_expect_success setup '\n \tgit show-branch\n '\n \n-cat >expected <<\\EOF\n+cat >msg.left.nolog <<\\EOF\n Merge branch 'left'\n EOF\n \n@@ -79,10 +79,10 @@ test_expect_success 'merge-msg test #1' '\n \tgit fetch . left &&\n \n \tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n-\tgit diff actual expected\n+\tgit diff actual msg.left.nolog\n '\n \n-cat >expected <<\\EOF\n+cat >msg.left_trash <<\\EOF\n Merge branch 'left' of ../trash\n EOF\n \n@@ -92,10 +92,10 @@ test_expect_success 'merge-msg test #2' '\n \tgit fetch ../trash left &&\n \n \tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n-\tgit diff actual expected\n+\tgit diff actual msg.left_trash\n '\n \n-cat >expected <<\\EOF\n+cat >msg.left.log <<\\EOF\n Merge branch 'left'\n \n * left:\n@@ -115,10 +115,10 @@ test_expect_success 'merge-msg test #3' '\n \tgit fetch . left &&\n \n \tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n-\tgit diff actual expected\n+\tgit diff actual msg.left.log\n '\n \n-cat >expected <<\\EOF\n+cat >msg.left_right.log <<\\EOF\n Merge branches 'left' and 'right'\n \n * left:\n@@ -145,7 +145,7 @@ test_expect_success 'merge-msg test #4' '\n \tgit fetch . left right &&\n \n \tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n-\tgit diff actual expected\n+\tgit diff actual msg.left_right.log\n '\n \n test_expect_success 'merge-msg test #5' '\n@@ -157,7 +157,7 @@ test_expect_success 'merge-msg test #5' '\n \tgit fetch . left right &&\n \n \tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n-\tgit diff actual expected\n+\tgit diff actual msg.left_right.log\n '\n \n test_done\n-- \n1.5.5.76.g546c\n"},{"id":"74494","messageId":"1208306351-20922-6-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-5-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 05/12] fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:04Z","receivedAt":"2008-04-16T00:39:04Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"These options and config variable have the same effect as the current\n'--(no-)summary' options and 'merge.summary' config variable.\n'merge.log' takes precedence over 'merge.summary'.\n\nDocumentation and bash completion are updated accordingly.  Tests are\nalso updated and new tests are added to ensure that the command line\noptions are working properly and are overriding the config variables.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/git-fmt-merge-msg.txt    |    7 ++++-\n Documentation/merge-config.txt         |    1 +\n builtin-fmt-merge-msg.c                |   14 ++++++++---\n contrib/completion/git-completion.bash |    1 +\n t/t6200-fmt-merge-msg.sh               |   40 ++++++++++++++++++++++++++++++-\n 5 files changed, 55 insertions(+), 8 deletions(-)\n\ndiff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt\nindex 8615ae3..cd441c5 100644\n--- a/Documentation/git-fmt-merge-msg.txt\n+++ b/Documentation/git-fmt-merge-msg.txt\n@@ -9,8 +9,8 @@ git-fmt-merge-msg - Produce a merge commit message\n SYNOPSIS\n --------\n [verse]\n-git-fmt-merge-msg [--summary | --no-summary] <$GIT_DIR/FETCH_HEAD\n-git-fmt-merge-msg [--summary | --no-summary] -F <file>\n+git-fmt-merge-msg [--[no-]log | --[no-]summary] <$GIT_DIR/FETCH_HEAD\n+git-fmt-merge-msg [--[no-]log | --[no-]summary] -F <file>\n \n DESCRIPTION\n -----------\n@@ -24,11 +24,13 @@ automatically invoking `git-merge`.\n OPTIONS\n -------\n \n+--log::\n --summary::\n \tIn addition to branch names, populate the log message with\n \tone-line descriptions from the actual commits that are being\n \tmerged.\n \n+--no-log::\n --no-summary::\n \tDo not list one-line descriptions from the actual commits being\n \tmerged.\n@@ -40,6 +42,7 @@ OPTIONS\n CONFIGURATION\n -------------\n \n+merge.log::\n merge.summary::\n \tWhether to include summaries of merged commits in newly\n \tmerge commit messages. False by default.\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 15efc0d..a0f71e6 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -3,6 +3,7 @@ merge.diffstat::\n \tWhether to print the diffstat berween ORIG_HEAD and merge result\n \tat the end of the merge.  True by default.\n \n+merge.log::\n merge.summary::\n \tWhether to include summaries of merged commits in newly created\n \tmerge commit messages. False by default.\ndiff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c\nindex ebb3f37..3df8ff8 100644\n--- a/builtin-fmt-merge-msg.c\n+++ b/builtin-fmt-merge-msg.c\n@@ -6,13 +6,18 @@\n #include \"tag.h\"\n \n static const char *fmt_merge_msg_usage =\n-\t\"git-fmt-merge-msg [--summary] [--no-summary] [--file <file>]\";\n+\t\"git-fmt-merge-msg [--log | --summary] [--no-log | --no-summary] [--file <file>]\";\n \n static int merge_summary;\n \n static int fmt_merge_msg_config(const char *key, const char *value)\n {\n-\tif (!strcmp(\"merge.summary\", key))\n+\tstatic int found_merge_log = 0;\n+\tif (!strcmp(\"merge.log\", key)) {\n+\t\tfound_merge_log = 1;\n+\t\tmerge_summary = git_config_bool(key, value);\n+\t}\n+\tif (!found_merge_log && !strcmp(\"merge.summary\", key))\n \t\tmerge_summary = git_config_bool(key, value);\n \treturn 0;\n }\n@@ -250,9 +255,10 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)\n \tgit_config(fmt_merge_msg_config);\n \n \twhile (argc > 1) {\n-\t\tif (!strcmp(argv[1], \"--summary\"))\n+\t\tif (!strcmp(argv[1], \"--log\") || !strcmp(argv[1], \"--summary\"))\n \t\t\tmerge_summary = 1;\n-\t\telse if (!strcmp(argv[1], \"--no-summary\"))\n+\t\telse if (!strcmp(argv[1], \"--no-log\")\n+\t\t\t\t|| !strcmp(argv[1], \"--no-summary\"))\n \t\t\tmerge_summary = 0;\n \t\telse if (!strcmp(argv[1], \"-F\") || !strcmp(argv[1], \"--file\")) {\n \t\t\tif (argc < 3)\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 4caff8d..276a984 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1023,6 +1023,7 @@ _git_config ()\n \t\tlog.showroot\n \t\tmerge.tool\n \t\tmerge.stat\n+\t\tmerge.log\n \t\tmerge.summary\n \t\tmerge.verbosity\n \t\tpack.window\ndiff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh\nindex 1af3ab2..20704eb 100755\n--- a/t/t6200-fmt-merge-msg.sh\n+++ b/t/t6200-fmt-merge-msg.sh\n@@ -138,7 +138,8 @@ EOF\n \n test_expect_success 'merge-msg test #4' '\n \n-\tgit config merge.summary true &&\n+\tgit config --unset merge.summary &&\n+\tgit config merge.log true &&\n \n \tgit checkout master &&\n \tsetdate &&\n@@ -150,7 +151,7 @@ test_expect_success 'merge-msg test #4' '\n \n test_expect_success 'merge-msg test #5' '\n \n-\tgit config merge.summary yes &&\n+\tgit config merge.log yes &&\n \n \tgit checkout master &&\n \tsetdate &&\n@@ -160,4 +161,39 @@ test_expect_success 'merge-msg test #5' '\n \tgit diff actual msg.left_right.log\n '\n \n+test_expect_success 'merge-msg command line options #1' '\n+\tgit config --unset merge.log &&\n+\n+\tgit checkout master &&\n+\tsetdate &&\n+\tgit fetch . left &&\n+\n+\tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n+\tgit diff actual msg.left.nolog\n+'\n+\n+test_expect_success 'merge-msg command line options #2' '\n+\tgit fmt-merge-msg --log <.git/FETCH_HEAD >actual &&\n+\tgit diff actual msg.left.log\n+'\n+\n+test_expect_success 'merge-msg command line options #3' '\n+\tgit fmt-merge-msg --summary <.git/FETCH_HEAD >actual &&\n+\tgit diff actual msg.left.log\n+'\n+\n+test_expect_success 'merge-msg command line option overrides config #1' '\n+\tgit config merge.log true &&\n+\n+\tgit fmt-merge-msg --no-log <.git/FETCH_HEAD >actual &&\n+\tgit diff actual msg.left.nolog\n+'\n+\n+test_expect_success 'merge-msg command line option overrides config #2' '\n+\tgit config merge.log false &&\n+\n+\tgit fmt-merge-msg --log <.git/FETCH_HEAD >actual &&\n+\tgit diff actual msg.left.log\n+'\n+\n test_done\n-- \n1.5.5.76.g546c\n"},{"id":"74493","messageId":"1208306351-20922-7-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-6-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 06/12] merge, pull: add '--(no-)log' command line option","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:05Z","receivedAt":"2008-04-16T00:39:05Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"These are the command line option equivalents of the 'merge.log' config\nvariable.\n\nThe patch also updates documentation and bash completion accordingly, and\nadds a test.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/merge-options.txt        |    9 +++++++++\n contrib/completion/git-completion.bash |    3 ++-\n git-merge.sh                           |    8 ++++++--\n git-pull.sh                            |    8 +++++---\n t/t7600-merge.sh                       |   16 +++++++++++++++-\n 5 files changed, 37 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 9c46dcb..41ef152 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -6,6 +6,15 @@\n -n, \\--no-stat, \\--no-summary::\n \tDo not show diffstat at the end of the merge.\n \n+--log::\n+\tIn addition to branch names, populate the log message with\n+\tone-line descriptions from the actual commits that are being\n+\tmerged.\n+\n+--no-log::\n+\tDo not list one-line descriptions from the actual commits being\n+\tmerged.\n+\n --no-commit::\n \tPerform the merge but pretend the merge failed and do\n \tnot autocommit, to give the user a chance to inspect and\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 276a984..ef7bf44 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -779,7 +779,8 @@ _git_merge ()\n \t\t;;\n \t--*)\n \t\t__gitcomp \"\n-\t\t\t--no-commit --no-stat --no-summary --squash --strategy\n+\t\t\t--no-commit --no-stat --no-summary --log --no-log\n+\t\t\t--squash --strategy\n \t\t\t\"\n \t\treturn\n \tesac\ndiff --git a/git-merge.sh b/git-merge.sh\nindex a29a7ec..4cda3ec 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -12,6 +12,8 @@ stat                 show a diffstat at the end of the merge\n n,no-stat            don't show a diffstat at the end of the merge\n summary              equivalent to --stat\n no-summary           equivalent to --no-stat\n+log                  add list of one-line log to merge commit message\n+no-log               don't add list of one-line log to merge commit message\n squash               create a single commit instead of doing a merge\n commit               perform a commit if the merge sucesses (default)\n ff                   allow fast forward (default)\n@@ -39,7 +41,7 @@ use_strategies=\n \n allow_fast_forward=t\n allow_trivial_merge=t\n-squash= no_commit=\n+squash= no_commit= log_arg=\n \n dropsave() {\n \trm -f -- \"$GIT_DIR/MERGE_HEAD\" \"$GIT_DIR/MERGE_MSG\" \\\n@@ -154,6 +156,8 @@ parse_config () {\n \t\t\tshow_diffstat=false ;;\n \t\t--stat|--summary)\n \t\t\tshow_diffstat=t ;;\n+\t\t--log|--no-log)\n+\t\t\tlog_arg=$1 ;;\n \t\t--squash)\n \t\t\ttest \"$allow_fast_forward\" = t ||\n \t\t\t\tdie \"You cannot combine --squash with --no-ff.\"\n@@ -261,7 +265,7 @@ else\n \tmerge_name=$(for remote\n \t\tdo\n \t\t\tmerge_name \"$remote\"\n-\t\tdone | git fmt-merge-msg\n+\t\tdone | git fmt-merge-msg $log_arg\n \t)\n \tmerge_msg=\"${merge_msg:+$merge_msg$LF$LF}$merge_name\"\n fi\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 0bac8ae..e344afb 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -16,7 +16,7 @@ cd_to_toplevel\n test -z \"$(git ls-files -u)\" ||\n \tdie \"You are in the middle of a conflicted merge.\"\n \n-strategy_args= no_stat= no_commit= squash= no_ff=\n+strategy_args= no_stat= no_commit= squash= no_ff= log_arg=\n curr_branch=$(git symbolic-ref -q HEAD)\n curr_branch_short=$(echo \"$curr_branch\" | sed \"s|refs/heads/||\")\n rebase=$(git config --bool branch.$curr_branch_short.rebase)\n@@ -27,6 +27,8 @@ do\n \t\tno_stat=-n ;;\n \t--stat|--summary)\n \t\tno_stat=$1 ;;\n+\t--log|--no-log)\n+\t\tlog_arg=$1 ;;\n \t--no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)\n \t\tno_commit=--no-commit ;;\n \t--c|--co|--com|--comm|--commi|--commit)\n@@ -170,9 +172,9 @@ then\n \texit\n fi\n \n-merge_name=$(git fmt-merge-msg <\"$GIT_DIR/FETCH_HEAD\") || exit\n+merge_name=$(git fmt-merge-msg $log_arg <\"$GIT_DIR/FETCH_HEAD\") || exit\n test true = \"$rebase\" &&\n \texec git-rebase $strategy_args --onto $merge_head \\\n \t${oldremoteref:-$merge_head}\n-exec git-merge $no_stat $no_commit $squash $no_ff $strategy_args \\\n+exec git-merge $no_stat $no_commit $squash $no_ff $log_arg $strategy_args \\\n \t\"$merge_name\" HEAD $merge_head\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex e5b48fb..6680321 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -104,7 +104,11 @@ create_merge_msgs() {\n \tgit log --no-merges ^HEAD c2 >>squash.1-5 &&\n \techo \"Squashed commit of the following:\" >squash.1-5-9 &&\n \techo >>squash.1-5-9 &&\n-\tgit log --no-merges ^HEAD c2 c3 >>squash.1-5-9\n+\tgit log --no-merges ^HEAD c2 c3 >>squash.1-5-9 &&\n+\techo > msg.nolog &&\n+\techo \"* commit 'c3':\" >msg.log &&\n+\techo \"  commit 3\" >>msg.log &&\n+\techo >>msg.log\n }\n \n verify_diff() {\n@@ -456,6 +460,16 @@ test_expect_success 'merge c0 with c1 (ff overrides no-ff)' '\n \tverify_head $c1\n '\n \n+test_expect_success 'merge log message' '\n+\tgit reset --hard c0 &&\n+\tgit merge --no-log c2 &&\n+\tgit show -s --pretty=format:%b HEAD >msg.act &&\n+\tverify_diff msg.nolog msg.act \"[OOPS] bad merge log message\" &&\n+\tgit merge --log c3 &&\n+\tgit show -s --pretty=format:%b HEAD >msg.act &&\n+\tverify_diff msg.log msg.act \"[OOPS] bad merge log message\"\n+'\n+\n test_debug 'gitk --all'\n \n test_done\n-- \n1.5.5.76.g546c\n"},{"id":"74488","messageId":"1208306351-20922-8-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-7-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 07/12] merge, pull: mark '--(no-)summary' options as deprecated","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:06Z","receivedAt":"2008-04-16T00:39:06Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Also remove them from bash completion.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/git-merge.txt            |    4 ++--\n Documentation/merge-options.txt        |   10 ++++++++--\n contrib/completion/git-completion.bash |    2 +-\n git-merge.sh                           |    4 ++--\n 4 files changed, 13 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt\nindex c514e3b..2f9edd8 100644\n--- a/Documentation/git-merge.txt\n+++ b/Documentation/git-merge.txt\n@@ -9,8 +9,8 @@ git-merge - Join two or more development histories together\n SYNOPSIS\n --------\n [verse]\n-'git-merge' [-n | --no-stat | --no-summary] [--stat | --summary] [--no-commit]\n-\t[--squash] [-s <strategy>]... [-m <msg>] <remote> <remote>...\n+'git-merge' [-n | --no-stat] [--stat] [--no-commit] [--squash]\n+\t[-s <strategy>]... [-m <msg>] <remote> <remote>...\n 'git-merge' <msg> HEAD <remote>...\n \n DESCRIPTION\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex 41ef152..d0a2ac9 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,11 +1,17 @@\n---stat, \\--summary::\n+--stat::\n \tShow a diffstat at the end of the merge. The diffstat is also\n \tcontrolled by the configuration option merge.stat (and the\n \tequivalent merge.diffstat).\n \n--n, \\--no-stat, \\--no-summary::\n+-n, \\--no-stat::\n \tDo not show diffstat at the end of the merge.\n \n+--summary::\n+\tDeprecated equivalent of --stat.\n+\n+--no-summary::\n+\tDeprecated equivalent of --no-stat.\n+\n --log::\n \tIn addition to branch names, populate the log message with\n \tone-line descriptions from the actual commits that are being\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex ef7bf44..adc1a75 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -779,7 +779,7 @@ _git_merge ()\n \t\t;;\n \t--*)\n \t\t__gitcomp \"\n-\t\t\t--no-commit --no-stat --no-summary --log --no-log\n+\t\t\t--no-commit --no-stat --log --no-log\n \t\t\t--squash --strategy\n \t\t\t\"\n \t\treturn\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 4cda3ec..f0b764f 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -10,8 +10,8 @@ git-merge [options] <msg> HEAD <remote>\n --\n stat                 show a diffstat at the end of the merge\n n,no-stat            don't show a diffstat at the end of the merge\n-summary              equivalent to --stat\n-no-summary           equivalent to --no-stat\n+summary              deprecated equivalent of --stat\n+no-summary           deprecated equivalent of --no-stat\n log                  add list of one-line log to merge commit message\n no-log               don't add list of one-line log to merge commit message\n squash               create a single commit instead of doing a merge\n-- \n1.5.5.76.g546c\n"},{"id":"74511","messageId":"1208306351-20922-9-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-8-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 08/12] merge, pull: mark the config variable 'merge.diffstat' as deprecated","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:07Z","receivedAt":"2008-04-16T00:39:07Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/merge-config.txt  |    4 +++-\n Documentation/merge-options.txt |    2 +-\n 2 files changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex a0f71e6..5000162 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -1,8 +1,10 @@\n merge.stat::\n-merge.diffstat::\n \tWhether to print the diffstat berween ORIG_HEAD and merge result\n \tat the end of the merge.  True by default.\n \n+merge.diffstat::\n+\tDeprecated equivalent of merge.stat.\n+\n merge.log::\n merge.summary::\n \tWhether to include summaries of merged commits in newly created\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex d0a2ac9..f282556 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,7 +1,7 @@\n --stat::\n \tShow a diffstat at the end of the merge. The diffstat is also\n \tcontrolled by the configuration option merge.stat (and the\n-\tequivalent merge.diffstat).\n+\tdeprecated merge.diffstat).\n \n -n, \\--no-stat::\n \tDo not show diffstat at the end of the merge.\n-- \n1.5.5.76.g546c\n"},{"id":"74490","messageId":"1208306351-20922-10-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-9-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 09/12] fmt-merge-msg: mark summary-related option and config variable as deprecated","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:08Z","receivedAt":"2008-04-16T00:39:08Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/git-fmt-merge-msg.txt    |   16 +++++++++++-----\n Documentation/merge-config.txt         |    4 +++-\n builtin-fmt-merge-msg.c                |    2 +-\n contrib/completion/git-completion.bash |    1 -\n t/t6200-fmt-merge-msg.sh               |    2 +-\n 5 files changed, 16 insertions(+), 9 deletions(-)\n\ndiff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt\nindex cd441c5..6e23e6c 100644\n--- a/Documentation/git-fmt-merge-msg.txt\n+++ b/Documentation/git-fmt-merge-msg.txt\n@@ -9,8 +9,8 @@ git-fmt-merge-msg - Produce a merge commit message\n SYNOPSIS\n --------\n [verse]\n-git-fmt-merge-msg [--[no-]log | --[no-]summary] <$GIT_DIR/FETCH_HEAD\n-git-fmt-merge-msg [--[no-]log | --[no-]summary] -F <file>\n+git-fmt-merge-msg [--[no-]log] <$GIT_DIR/FETCH_HEAD\n+git-fmt-merge-msg [--[no-]log] -F <file>\n \n DESCRIPTION\n -----------\n@@ -25,16 +25,20 @@ OPTIONS\n -------\n \n --log::\n---summary::\n \tIn addition to branch names, populate the log message with\n \tone-line descriptions from the actual commits that are being\n \tmerged.\n \n --no-log::\n---no-summary::\n \tDo not list one-line descriptions from the actual commits being\n \tmerged.\n \n+--summary::\n+\tDeprecated equivalent of --log.\n+\n+--no-summary::\n+\tDeprecated equivalent of --no-log.\n+\n --file <file>, -F <file>::\n \tTake the list of merged objects from <file> instead of\n \tstdin.\n@@ -43,10 +47,12 @@ CONFIGURATION\n -------------\n \n merge.log::\n-merge.summary::\n \tWhether to include summaries of merged commits in newly\n \tmerge commit messages. False by default.\n \n+merge.summary::\n+\tDeprecated equivalent of merge.log.\n+\n SEE ALSO\n --------\n linkgit:git-merge[1]\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 5000162..45b107d 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -6,10 +6,12 @@ merge.diffstat::\n \tDeprecated equivalent of merge.stat.\n \n merge.log::\n-merge.summary::\n \tWhether to include summaries of merged commits in newly created\n \tmerge commit messages. False by default.\n \n+merge.summary::\n+\tDeprecated equivalent of merge.log.\n+\n merge.tool::\n \tControls which merge resolution program is used by\n \tlinkgit:git-mergetool[1].  Valid built-in values are: \"kdiff3\",\ndiff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c\nindex 3df8ff8..d49f545 100644\n--- a/builtin-fmt-merge-msg.c\n+++ b/builtin-fmt-merge-msg.c\n@@ -6,7 +6,7 @@\n #include \"tag.h\"\n \n static const char *fmt_merge_msg_usage =\n-\t\"git-fmt-merge-msg [--log | --summary] [--no-log | --no-summary] [--file <file>]\";\n+\t\"git-fmt-merge-msg [--log] [--no-log] [--file <file>]\";\n \n static int merge_summary;\n \ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex adc1a75..49ada35 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1025,7 +1025,6 @@ _git_config ()\n \t\tmerge.tool\n \t\tmerge.stat\n \t\tmerge.log\n-\t\tmerge.summary\n \t\tmerge.verbosity\n \t\tpack.window\n \t\tpack.depth\ndiff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh\nindex 20704eb..926ca50 100755\n--- a/t/t6200-fmt-merge-msg.sh\n+++ b/t/t6200-fmt-merge-msg.sh\n@@ -177,7 +177,7 @@ test_expect_success 'merge-msg command line options #2' '\n \tgit diff actual msg.left.log\n '\n \n-test_expect_success 'merge-msg command line options #3' '\n+test_expect_success 'merge-msg deprecated command line options' '\n \tgit fmt-merge-msg --summary <.git/FETCH_HEAD >actual &&\n \tgit diff actual msg.left.log\n '\n-- \n1.5.5.76.g546c\n"},{"id":"74487","messageId":"1208306351-20922-11-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-10-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 10/12] merge, pull: remove deprecated '--(no-)summary' options","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:09Z","receivedAt":"2008-04-16T00:39:09Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Also remove related test.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/merge-options.txt |    6 ------\n git-merge.sh                    |    6 ++----\n git-pull.sh                     |    4 ++--\n t/t7600-merge.sh                |   15 ---------------\n 4 files changed, 4 insertions(+), 27 deletions(-)\n\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex f282556..f22fc6e 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -6,12 +6,6 @@\n -n, \\--no-stat::\n \tDo not show diffstat at the end of the merge.\n \n---summary::\n-\tDeprecated equivalent of --stat.\n-\n---no-summary::\n-\tDeprecated equivalent of --no-stat.\n-\n --log::\n \tIn addition to branch names, populate the log message with\n \tone-line descriptions from the actual commits that are being\ndiff --git a/git-merge.sh b/git-merge.sh\nindex f0b764f..263b337 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -10,8 +10,6 @@ git-merge [options] <msg> HEAD <remote>\n --\n stat                 show a diffstat at the end of the merge\n n,no-stat            don't show a diffstat at the end of the merge\n-summary              deprecated equivalent of --stat\n-no-summary           deprecated equivalent of --no-stat\n log                  add list of one-line log to merge commit message\n no-log               don't add list of one-line log to merge commit message\n squash               create a single commit instead of doing a merge\n@@ -152,9 +150,9 @@ merge_name () {\n parse_config () {\n \twhile test $# != 0; do\n \t\tcase \"$1\" in\n-\t\t-n|--no-stat|--no-summary)\n+\t\t-n|--no-stat)\n \t\t\tshow_diffstat=false ;;\n-\t\t--stat|--summary)\n+\t\t--stat)\n \t\t\tshow_diffstat=t ;;\n \t\t--log|--no-log)\n \t\t\tlog_arg=$1 ;;\ndiff --git a/git-pull.sh b/git-pull.sh\nindex e344afb..d1edb9c 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -23,9 +23,9 @@ rebase=$(git config --bool branch.$curr_branch_short.rebase)\n while :\n do\n \tcase \"$1\" in\n-\t-n|--no-stat|--no-summary)\n+\t-n|--no-stat)\n \t\tno_stat=-n ;;\n-\t--stat|--summary)\n+\t--stat)\n \t\tno_stat=$1 ;;\n \t--log|--no-log)\n \t\tlog_arg=$1 ;;\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex 6680321..6fc626e 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -383,21 +383,6 @@ test_expect_success 'override config option -n with --stat' '\n \n test_debug 'gitk --all'\n \n-test_expect_success 'override config option -n with --summary' '\n-\tgit reset --hard c1 &&\n-\tgit config branch.master.mergeoptions \"-n\" &&\n-\ttest_tick &&\n-\tgit merge --summary c2 >diffstat.txt &&\n-\tverify_merge file result.1-5 msg.1-5 &&\n-\tverify_parents $c1 $c2 &&\n-\tif ! grep \"^ file |  *2 +-$\" diffstat.txt\n-\tthen\n-\t\techo \"[OOPS] diffstat was not generated\"\n-\tfi\n-'\n-\n-test_debug 'gitk --all'\n-\n test_expect_success 'override config option --stat' '\n \tgit reset --hard c1 &&\n \tgit config branch.master.mergeoptions \"--stat\" &&\n-- \n1.5.5.76.g546c\n"},{"id":"74491","messageId":"1208306351-20922-12-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-11-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 11/12] merge, pull: remove deprecated 'merge.diffstat' config variable","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:10Z","receivedAt":"2008-04-16T00:39:10Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/merge-config.txt  |    3 ---\n Documentation/merge-options.txt |    3 +--\n git-merge.sh                    |    1 -\n 3 files changed, 1 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 45b107d..896f914 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -2,9 +2,6 @@ merge.stat::\n \tWhether to print the diffstat berween ORIG_HEAD and merge result\n \tat the end of the merge.  True by default.\n \n-merge.diffstat::\n-\tDeprecated equivalent of merge.stat.\n-\n merge.log::\n \tWhether to include summaries of merged commits in newly created\n \tmerge commit messages. False by default.\ndiff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt\nindex f22fc6e..0333913 100644\n--- a/Documentation/merge-options.txt\n+++ b/Documentation/merge-options.txt\n@@ -1,7 +1,6 @@\n --stat::\n \tShow a diffstat at the end of the merge. The diffstat is also\n-\tcontrolled by the configuration option merge.stat (and the\n-\tdeprecated merge.diffstat).\n+\tcontrolled by the configuration option merge.stat.\n \n -n, \\--no-stat::\n \tDo not show diffstat at the end of the merge.\ndiff --git a/git-merge.sh b/git-merge.sh\nindex 263b337..db79851 100755\n--- a/git-merge.sh\n+++ b/git-merge.sh\n@@ -213,7 +213,6 @@ parse_config \"$@\"\n while test $args_left -lt $#; do shift; done\n \n if test -z \"$show_diffstat\"; then\n-    test \"$(git config --bool merge.diffstat)\" = false && show_diffstat=false\n     test \"$(git config --bool merge.stat)\" = false && show_diffstat=false\n     test -z \"$show_diffstat\" && show_diffstat=t\n fi\n-- \n1.5.5.76.g546c\n"},{"id":"74504","messageId":"1208306351-20922-13-git-send-email-szeder@ira.uka.de","threadId":"12969","inReplyTo":"1208306351-20922-12-git-send-email-szeder@ira.uka.de","subject":"[PATCH v2 12/12] fmt-merge-msg: remove deprecated summary-related options and config variable","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2008-04-16T00:39:11Z","receivedAt":"2008-04-16T00:39:11Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Also remove related test.\n\nSigned-off-by: SZEDER Gábor <szeder@ira.uka.de>\n---\n Documentation/git-fmt-merge-msg.txt |    9 ---------\n Documentation/merge-config.txt      |    3 ---\n builtin-fmt-merge-msg.c             |   12 +++---------\n t/t6200-fmt-merge-msg.sh            |    8 +-------\n 4 files changed, 4 insertions(+), 28 deletions(-)\n\ndiff --git a/Documentation/git-fmt-merge-msg.txt b/Documentation/git-fmt-merge-msg.txt\nindex 6e23e6c..4d0ca4c 100644\n--- a/Documentation/git-fmt-merge-msg.txt\n+++ b/Documentation/git-fmt-merge-msg.txt\n@@ -33,12 +33,6 @@ OPTIONS\n \tDo not list one-line descriptions from the actual commits being\n \tmerged.\n \n---summary::\n-\tDeprecated equivalent of --log.\n-\n---no-summary::\n-\tDeprecated equivalent of --no-log.\n-\n --file <file>, -F <file>::\n \tTake the list of merged objects from <file> instead of\n \tstdin.\n@@ -50,9 +44,6 @@ merge.log::\n \tWhether to include summaries of merged commits in newly\n \tmerge commit messages. False by default.\n \n-merge.summary::\n-\tDeprecated equivalent of merge.log.\n-\n SEE ALSO\n --------\n linkgit:git-merge[1]\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 896f914..9719311 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -6,9 +6,6 @@ merge.log::\n \tWhether to include summaries of merged commits in newly created\n \tmerge commit messages. False by default.\n \n-merge.summary::\n-\tDeprecated equivalent of merge.log.\n-\n merge.tool::\n \tControls which merge resolution program is used by\n \tlinkgit:git-mergetool[1].  Valid built-in values are: \"kdiff3\",\ndiff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c\nindex d49f545..0bf87c1 100644\n--- a/builtin-fmt-merge-msg.c\n+++ b/builtin-fmt-merge-msg.c\n@@ -12,12 +12,7 @@ static int merge_summary;\n \n static int fmt_merge_msg_config(const char *key, const char *value)\n {\n-\tstatic int found_merge_log = 0;\n-\tif (!strcmp(\"merge.log\", key)) {\n-\t\tfound_merge_log = 1;\n-\t\tmerge_summary = git_config_bool(key, value);\n-\t}\n-\tif (!found_merge_log && !strcmp(\"merge.summary\", key))\n+\tif (!strcmp(\"merge.log\", key))\n \t\tmerge_summary = git_config_bool(key, value);\n \treturn 0;\n }\n@@ -255,10 +250,9 @@ int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix)\n \tgit_config(fmt_merge_msg_config);\n \n \twhile (argc > 1) {\n-\t\tif (!strcmp(argv[1], \"--log\") || !strcmp(argv[1], \"--summary\"))\n+\t\tif (!strcmp(argv[1], \"--log\"))\n \t\t\tmerge_summary = 1;\n-\t\telse if (!strcmp(argv[1], \"--no-log\")\n-\t\t\t\t|| !strcmp(argv[1], \"--no-summary\"))\n+\t\telse if (!strcmp(argv[1], \"--no-log\"))\n \t\t\tmerge_summary = 0;\n \t\telse if (!strcmp(argv[1], \"-F\") || !strcmp(argv[1], \"--file\")) {\n \t\t\tif (argc < 3)\ndiff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh\nindex 926ca50..d844661 100755\n--- a/t/t6200-fmt-merge-msg.sh\n+++ b/t/t6200-fmt-merge-msg.sh\n@@ -108,7 +108,7 @@ EOF\n \n test_expect_success 'merge-msg test #3' '\n \n-\tgit config merge.summary true &&\n+\tgit config merge.log true &&\n \n \tgit checkout master &&\n \tsetdate &&\n@@ -138,7 +138,6 @@ EOF\n \n test_expect_success 'merge-msg test #4' '\n \n-\tgit config --unset merge.summary &&\n \tgit config merge.log true &&\n \n \tgit checkout master &&\n@@ -177,11 +176,6 @@ test_expect_success 'merge-msg command line options #2' '\n \tgit diff actual msg.left.log\n '\n \n-test_expect_success 'merge-msg deprecated command line options' '\n-\tgit fmt-merge-msg --summary <.git/FETCH_HEAD >actual &&\n-\tgit diff actual msg.left.log\n-'\n-\n test_expect_success 'merge-msg command line option overrides config #1' '\n \tgit config merge.log true &&\n \n-- \n1.5.5.76.g546c\n"},{"id":"74492","messageId":"7vk5iyv36e.fsf@gitster.siamese.dyndns.org","threadId":"12969","inReplyTo":"1208306351-20922-1-git-send-email-szeder@ira.uka.de","subject":"Re: [PATCH v2 00/12] merge summary and diffstat options cleanup","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-04-16T04:23:05Z","receivedAt":"2008-04-16T04:23:05Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"SZEDER Gábor <szeder@ira.uka.de> writes:\n\n> On Sat, Apr 05, 2008 at 07:36:57PM -0700, Junio C Hamano wrote:\n>> ...this hunk removes the original options from OPTIONS_SPEC, I suspect you\n>> would get \"unknown option 'stat'\" from underlying \"git rev-parse --parseopt\".\n>> \n>> You probably haven't noticed the breakage because you replaced all\n>> existing --summary with --stat in the tests, though.  Oops.\n> It was not clear to me that this OPTIONS_SPEC is used for parsing,\n> too.  This series fixes the problem.\n\nThe previous one already is on 'next'.  If you have anything new to add,\nplease improve upon them incrementally.\n"}]}