At present, the 'merge --summary' command line option and 'merge.diffstat' config variable are controlling the same thing: whether to show a diffstat at the end of the merge or not. This is inconsistent and confusing. This patch adds the '--diffstat' and '--no-diffstat' options to 'merge' and 'pull', making the name of the command line option and the config variable consistent. Documentation, tests, and bash completion are also updated accordingly. The '--summary' and '--no-summary' options are still accepted, but are not advertised. Signed-off-by: SZEDER Gábor <szeder@xxxxxxxxxx> --- But there is still a conflict between the 'merge.summary' config variable and the now not advertised '--summary' option, that should be resolved. Documentation/git-merge.txt | 2 +- Documentation/merge-options.txt | 4 ++-- contrib/completion/git-completion.bash | 2 +- git-merge.sh | 8 ++++---- git-pull.sh | 16 +++++++--------- t/t7600-merge.sh | 6 +++--- 6 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt index c136b10..d260ab1 100644 --- a/Documentation/git-merge.txt +++ b/Documentation/git-merge.txt @@ -9,7 +9,7 @@ git-merge - Join two or more development histories together SYNOPSIS -------- [verse] -'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]... +'git-merge' [-n] [--diffstat] [--no-commit] [--squash] [-s <strategy>]... [-m <msg>] <remote> <remote>... 'git-merge' <msg> HEAD <remote>... diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt index 9f1fc82..edd13a5 100644 --- a/Documentation/merge-options.txt +++ b/Documentation/merge-options.txt @@ -1,8 +1,8 @@ ---summary:: +--diffstat:: Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.diffstat. --n, \--no-summary:: +-n, \--no-diffstat:: Do not show diffstat at the end of the merge. --no-commit:: diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 791e30f..2e6cad7 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -776,7 +776,7 @@ _git_merge () ;; --*) __gitcomp " - --no-commit --no-summary --squash --strategy + --no-commit --no-diffstat --squash --strategy " return esac diff --git a/git-merge.sh b/git-merge.sh index 7dbbb1d..b51eef8 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -8,8 +8,8 @@ OPTIONS_SPEC="\ git-merge [options] <remote>... git-merge [options] <msg> HEAD <remote> -- -summary show a diffstat at the end of the merge -n,no-summary don't show a diffstat at the end of the merge +diffstat show a diffstat at the end of the merge +n,no-diffstat don't show a diffstat at the end of the merge squash create a single commit instead of doing a merge commit perform a commit if the merge sucesses (default) ff allow fast forward (default) @@ -148,9 +148,9 @@ merge_name () { parse_config () { while test $# != 0; do case "$1" in - -n|--no-summary) + -n|--no-diffstat|--no-summary) show_diffstat=false ;; - --summary) + --diffstat|--summary) show_diffstat=t ;; --squash) test "$allow_fast_forward" = t || diff --git a/git-pull.sh b/git-pull.sh index 3ce32b5..20a2024 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -4,7 +4,7 @@ # # Fetch one or more remote refs and merge it/them into the current HEAD. -USAGE='[-n | --no-summary] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...' +USAGE='[-n | --no-diffstat] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...' LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEAD.' SUBDIRECTORY_OK=Yes OPTIONS_SPEC= @@ -16,19 +16,17 @@ cd_to_toplevel test -z "$(git ls-files -u)" || die "You are in the middle of a conflicted merge." -strategy_args= no_summary= no_commit= squash= no_ff= +strategy_args= no_diffstat= no_commit= squash= no_ff= curr_branch=$(git symbolic-ref -q HEAD) curr_branch_short=$(echo "$curr_branch" | sed "s|refs/heads/||") rebase=$(git config --bool branch.$curr_branch_short.rebase) while : do case "$1" in - -n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\ - --no-summa|--no-summar|--no-summary) - no_summary=-n ;; - --summary) - no_summary=$1 - ;; + -n|--no-diffstat|--no-summary) + no_diffstat=-n ;; + --diffstat|--summary) + no_diffstat=$1 ;; --no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit) no_commit=--no-commit ;; --c|--co|--com|--comm|--commi|--commit) @@ -176,5 +174,5 @@ merge_name=$(git fmt-merge-msg <"$GIT_DIR/FETCH_HEAD") || exit test true = "$rebase" && exec git-rebase $strategy_args --onto $merge_head \ ${oldremoteref:-$merge_head} -exec git-merge $no_summary $no_commit $squash $no_ff $strategy_args \ +exec git-merge $no_diffstat $no_commit $squash $no_ff $strategy_args \ "$merge_name" HEAD $merge_head diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 56869ac..bbbd580 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -368,7 +368,7 @@ test_expect_success 'override config option -n' ' git reset --hard c1 && git config branch.master.mergeoptions "-n" && test_tick && - git merge --summary c2 >diffstat.txt && + git merge --diffstat c2 >diffstat.txt && verify_merge file result.1-5 msg.1-5 && verify_parents $c1 $c2 && if ! grep "^ file | *2 +-$" diffstat.txt @@ -379,9 +379,9 @@ test_expect_success 'override config option -n' ' test_debug 'gitk --all' -test_expect_success 'override config option --summary' ' +test_expect_success 'override config option --diffstat' ' git reset --hard c1 && - git config branch.master.mergeoptions "--summary" && + git config branch.master.mergeoptions "--diffstat" && test_tick && git merge -n c2 >diffstat.txt && verify_merge file result.1-5 msg.1-5 && -- 1.5.5.rc3.10.g79e34 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html