[PATCH] Show [xxxx] suffix after non-"heads" branches in git-branch output

DORMANTno replies

From: Andy Parkins <hidden>
Date: 2016-08-11 20:08:01
Subsystem: the rest · Maintainer: Linus Torvalds

This patch changes from showing only those refs in "heads/" to all non-"tags/"
refs.

For any ref that isn't a "heads/" ref (like "remotes/") a suffix of "[xxx]" is
added to the line.
Signed-off-by: Andy Parkins <redacted>
---
This patch is in preference to my earlier "Use "up/" prefix for all the 
upstream branches" patch.  Junio pointed out that that patch wasn't necessary 
because git already supports the "--use-separate-remote" option.  This patch 
makes git-branch always show all the branches that are useable as references 
in tree-ish, but highlights the remote branches.

 git-branch.sh |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/git-branch.sh b/git-branch.sh
index f823c78..bddd189 100755
--- a/git-branch.sh
+++ b/git-branch.sh
@@ -87,17 +87,28 @@ done
 
 case "$#" in
 0)
-	git-rev-parse --symbolic --branches |
+	git-rev-parse --symbolic --all |
 	sort |
-	while read ref
+	grep -v "^refs/tags" |
+	sed -ne 's|^refs/\([^/]*\)/\(.*\)|\1 \2|p' |
+	while read type ref
 	do
+		case "$type" in
+		heads)
+			type=""
+			;;
+		*)
+			type=" [$type]"
+			;;
+		esac
+
 		if test "$headref" = "$ref"
 		then
 			pfx='*'
 		else
 			pfx=' '
 		fi
-		echo "$pfx $ref"
+		echo "$pfx $ref$type"
 	done
 	exit 0 ;;
 1)
-- 
1.4.2.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help