DORMANTno replies

[PATCH] Add colour support in rebase and merge tree diff stats output.

From: James Bowes <hidden>
Date: 2016-06-15 22:43:08
Subsystem: the rest · Maintainer: Linus Torvalds

The rebase and merge commands used diff-tree to display the summary stats of
what files had changed from the operation. diff-tree does not read the
diff ui configuration options, so the diff.color setting was not used.

Have rebase and merge call diff rather than diff-tree, which does read the
diff ui options.

Signed-off-by: James Bowes <redacted>
---
 
I'm not sure if setting GIT_PAGER to '' is the best way to disable the pager
in this case (though I'm quite certain it should be disabled), but it does
the trick. Perhaps there should be a git --no-pager option?

 git-merge.sh  |    3 ++-
 git-rebase.sh |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/git-merge.sh b/git-merge.sh
index 7ebbce4..351676f 100755
--- a/git-merge.sh
+++ b/git-merge.sh
@@ -90,7 +90,8 @@ finish () {
 	?*)
 		case "$no_summary" in
 		'')
-			git-diff-tree --stat --summary -M "$head" "$1"
+			# We want color (if set), but no pager
+			GIT_PAGER='' git-diff --stat --summary -M "$head" "$1"
 			;;
 		esac
 		;;
diff --git a/git-rebase.sh b/git-rebase.sh
index 2dc2c4f..61770b5 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -307,7 +307,8 @@ fi
 if test -n "$verbose"
 then
 	echo "Changes from $mb to $onto:"
-	git-diff-tree --stat --summary "$mb" "$onto"
+	# We want color (if set), but no pager
+	GIT_PAGER='' git-diff --stat --summary "$mb" "$onto"
 fi
 
 # Rewind the head to "$onto"; this saves our current head in ORIG_HEAD.
-- 
1.5.2.rc1.741.g85102-dirty
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help