git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 02/12] merge, pull: introduce '--(no-)stat' options

From
SZEDER Gábor <szeder@ira.uka.de>
Date
Apr 16, 2008, 00:39 UTC
Message-ID
<1208306351-20922-3-git-send-email-szeder@ira.uka.de>
In-Reply-To
<1208306351-20922-2-git-send-email-szeder@ira.uka.de>

These options have the same effect as the current '--(no-)summary' options (i.e. whether to show a diffsat at the end of the merge or not), and are consistent with the '--stat' option of other git commands.

Documentation, tests, and bash completion are updated accordingly.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
 Documentation/git-merge.txt            |    4 ++--
 Documentation/merge-options.txt        |    4 ++--
 contrib/completion/git-completion.bash |    2 +-
 git-merge.sh                           |   10 ++++++----
 git-pull.sh                            |   16 +++++++---------
 t/t7600-merge.sh                       |   21 ++++++++++++++++++---
 6 files changed, 36 insertions(+), 21 deletions(-)
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index 821e21b..c514e3b 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -9,8 +9,8 @@ git-merge - Join two or more development histories together
 SYNOPSIS
 --------
 [verse]
-'git-merge' [-n] [--summary] [--no-commit] [--squash] [-s <strategy>]...
-	[-m <msg>] <remote> <remote>...
+'git-merge' [-n | --no-stat | --no-summary] [--stat | --summary] [--no-commit]
+	[--squash] [-s <strategy>]... [-m <msg>] <remote> <remote>...
 'git-merge' <msg> HEAD <remote>...
 
 DESCRIPTION
diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt
index 9f1fc82..c82bc7e 100644
--- a/Documentation/merge-options.txt
+++ b/Documentation/merge-options.txt
@@ -1,8 +1,8 @@
---summary::
+--stat, \--summary::
 	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-stat, \--no-summary::
 	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 4d81963..5221a1a 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -779,7 +779,7 @@ _git_merge ()
 		;;
 	--*)
 		__gitcomp "
-			--no-commit --no-summary --squash --strategy
+			--no-commit --no-stat --no-summary --squash --strategy
 			"
 		return
 	esac
diff --git a/git-merge.sh b/git-merge.sh
index 7dbbb1d..cda78de 100755
--- a/git-merge.sh
+++ b/git-merge.sh
@@ -8,8 +8,10 @@ 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
+stat                 show a diffstat at the end of the merge
+n,no-stat            don't show a diffstat at the end of the merge
+summary              equivalent to --stat
+no-summary           equivalent to --no-stat
 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 +150,9 @@ merge_name () {
 parse_config () {
 	while test $# != 0; do
 		case "$1" in
-		-n|--no-summary)
+		-n|--no-stat|--no-summary)
 			show_diffstat=false ;;
-		--summary)
+		--stat|--summary)
 			show_diffstat=t ;;
 		--squash)
 			test "$allow_fast_forward" = t ||
diff --git a/git-pull.sh b/git-pull.sh
index 3ce32b5..0bac8ae 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-stat | --no-summary] [--[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_stat= 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-stat|--no-summary)
+		no_stat=-n ;;
+	--stat|--summary)
+		no_stat=$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_stat $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..e5b48fb 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -364,7 +364,22 @@ test_expect_success 'merge c1 with c2 (squash in config)' '
 
 test_debug 'gitk --all'
 
-test_expect_success 'override config option -n' '
+test_expect_success 'override config option -n with --stat' '
+	git reset --hard c1 &&
+	git config branch.master.mergeoptions "-n" &&
+	test_tick &&
+	git merge --stat c2 >diffstat.txt &&
+	verify_merge file result.1-5 msg.1-5 &&
+	verify_parents $c1 $c2 &&
+	if ! grep "^ file |  *2 +-$" diffstat.txt
+	then
+		echo "[OOPS] diffstat was not generated"
+	fi
+'
+
+test_debug 'gitk --all'
+
+test_expect_success 'override config option -n with --summary' '
 	git reset --hard c1 &&
 	git config branch.master.mergeoptions "-n" &&
 	test_tick &&
@@ -379,9 +394,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 --stat' '
 	git reset --hard c1 &&
-	git config branch.master.mergeoptions "--summary" &&
+	git config branch.master.mergeoptions "--stat" &&
 	test_tick &&
 	git merge -n c2 >diffstat.txt &&
 	verify_merge file result.1-5 msg.1-5 &&
-- 
1.5.5.76.g546c
Previous: SZEDER GáborNext: SZEDER Gábor
Message 19 of 32 in “merge --summary vs. merge.summary”
  1. 0/2 merge --summary vs. merge.summarySZEDER Gábor, Apr 3, 2008
  2. 1/2 merge, pull: rename '--summary' option to '--diffstat'SZEDER Gábor, Apr 3, 2008
  3. 2/2 merge, pull: add option to put summary into the merge commit messageSZEDER Gábor, Apr 3, 2008
  4. Jeff KingApr 3, 2008
  5. SZEDER GáborApr 3, 2008
  6. merge, pull: introduce '--diffstat' optionSZEDER Gábor, Apr 5, 2008
  7. Teemu LikonenApr 5, 2008
  8. Junio C HamanoApr 5, 2008
  9. 0/6 merge summary and diffstat options cleanupSZEDER Gábor, Apr 6, 2008
  10. 1/6 doc: moved merge.* config variables into separate merge-config.txtSZEDER Gábor, Apr 6, 2008
  11. 2/6 merge, pull: introduce '--(no-)stat' optionSZEDER Gábor, Apr 6, 2008
  12. 3/6 add 'merge.stat' config variableSZEDER Gábor, Apr 6, 2008
  13. 4/6 fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variableSZEDER Gábor, Apr 6, 2008
  14. 5/6 merge, pull: add '--(no-)log' command line optionSZEDER Gábor, Apr 6, 2008
  15. 6/6 merge: remove deprecated summary and diffstat options and config variablesSZEDER Gábor, Apr 6, 2008
  16. Junio C HamanoApr 6, 2008
  17. 00/12 merge summary and diffstat options cleanupSZEDER Gábor, Apr 16, 2008
  18. 01/12 doc: moved merge.* config variables into separate merge-config.txtSZEDER Gábor, Apr 16, 2008
  19. 02/12 merge, pull: introduce '--(no-)stat' optionsSZEDER Gábor, Apr 16, 2008
  20. 03/12 add 'merge.stat' config variableSZEDER Gábor, Apr 16, 2008
  21. 04/12 t6200-fmt-merge-msg: put expected messages into different filesSZEDER Gábor, Apr 16, 2008
  22. 05/12 fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variableSZEDER Gábor, Apr 16, 2008
  23. 06/12 merge, pull: add '--(no-)log' command line optionSZEDER Gábor, Apr 16, 2008
  24. 07/12 merge, pull: mark '--(no-)summary' options as deprecatedSZEDER Gábor, Apr 16, 2008
  25. 08/12 merge, pull: mark the config variable 'merge.diffstat' as deprecatedSZEDER Gábor, Apr 16, 2008
  26. 09/12 fmt-merge-msg: mark summary-related option and config variable as deprecatedSZEDER Gábor, Apr 16, 2008
  27. 10/12 merge, pull: remove deprecated '--(no-)summary' optionsSZEDER Gábor, Apr 16, 2008
  28. 11/12 merge, pull: remove deprecated 'merge.diffstat' config variableSZEDER Gábor, Apr 16, 2008
  29. 12/12 fmt-merge-msg: remove deprecated summary-related options and config variableSZEDER Gábor, Apr 16, 2008
  30. Junio C HamanoApr 16, 2008
  31. Jeff KingApr 6, 2008
  32. Jakub NarebskiApr 6, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.