summaryrefslogtreecommitdiff
path: root/git-merge.sh
diff options
context:
space:
mode:
authorAlex Riesen <raa.lkml@gmail.com>2007-05-23 21:01:29 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-05-25 04:37:08 (GMT)
commit51e7ecf4ecb506fb36cd5933cb7b78fb4b315ac9 (patch)
treed64d7dea3213b1c474e39d623b86acb39cbb9dc0 /git-merge.sh
parent18bece43675ea0dc9022a7868865e02808b7af7f (diff)
downloadgit-51e7ecf4ecb506fb36cd5933cb7b78fb4b315ac9.zip
git-51e7ecf4ecb506fb36cd5933cb7b78fb4b315ac9.tar.gz
git-51e7ecf4ecb506fb36cd5933cb7b78fb4b315ac9.tar.bz2
Add a configuration option to control diffstat after merge
The diffstat can be controlled either with command-line options (--summary|--no-summary) or with merge.diffstat. The default is left as it was: diffstat is active by default. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-merge.sh')
-rwxr-xr-xgit-merge.sh18
1 files changed, 12 insertions, 6 deletions
diff --git a/git-merge.sh b/git-merge.sh
index 351676f..44e9b70 100755
--- a/git-merge.sh
+++ b/git-merge.sh
@@ -3,7 +3,7 @@
# Copyright (c) 2005 Junio C Hamano
#
-USAGE='[-n] [--no-commit] [--squash] [-s <strategy>] [-m=<merge-message>] <commit>+'
+USAGE='[-n] [--summary] [--no-commit] [--squash] [-s <strategy>] [-m=<merge-message>] <commit>+'
SUBDIRECTORY_OK=Yes
. git-sh-setup
@@ -88,12 +88,11 @@ finish () {
'')
;;
?*)
- case "$no_summary" in
- '')
+ if test "$show_diffstat" = t
+ then
# We want color (if set), but no pager
GIT_PAGER='' git-diff --stat --summary -M "$head" "$1"
- ;;
- esac
+ fi
;;
esac
}
@@ -126,7 +125,9 @@ do
case "$1" in
-n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\
--no-summa|--no-summar|--no-summary)
- no_summary=t ;;
+ show_diffstat=false ;;
+ --summary)
+ show_diffstat=t ;;
--sq|--squ|--squa|--squas|--squash)
squash=t no_commit=t ;;
--no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit)
@@ -168,6 +169,11 @@ do
shift
done
+if test -z "$show_diffstat"; then
+ test "$(git-config --bool merge.diffstat)" = false && show_diffstat=false
+ test -z "$show_diffstat" && show_diffstat=t
+fi
+
# This could be traditional "merge <msg> HEAD <commit>..." and the
# way we can tell it is to see if the second token is HEAD, but some
# people might have misused the interface and used a committish that