All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonas Fonseca <fonseca@diku.dk>
To: Petr Baudis <pasky@ucw.cz>, git@vger.kernel.org
Subject: [PATCH] cg-status: handle subdirs when listing heads
Date: Sun, 11 Dec 2005 20:03:05 +0100	[thread overview]
Message-ID: <20051211190305.GD2960@diku.dk> (raw)

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>

---

 fonseca@antimatter:~/src/cogito/cogito > cg switch -r master tmp/work
 Creating new branch tmp/work: 218ee732bee381746890bf5ffb9bfc4672795954
 Switching to branch tmp/work...
 fonseca@antimatter:~/src/cogito/cogito > cg status
 Heads:
     cg-object-id        c10cc1d2a99b01ed3bf45d5f2ad6157940a22365
     cg-Xedit    41447107236a7d23daa6ab0f40a0829935485bc8
     master      218ee732bee381746890bf5ffb9bfc4672795954
   R origin      218ee732bee381746890bf5ffb9bfc4672795954
 cat: .git/refs/heads/tmp: Is a directory
     tmp

commit 2e7be765ca86117dc7af8aa0cd0f090269fee428
tree 0154d7f35e6ae7c357ff18e7b1f46e2ee4d25309
parent 218ee732bee381746890bf5ffb9bfc4672795954
author Jonas Fonseca <fonseca@diku.dk> Sun, 11 Dec 2005 19:57:31 +0100
committer Jonas Fonseca <fonseca@antimatter.localdomain> Sun, 11 Dec 2005 19:57:31 +0100

 cg-status |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/cg-status b/cg-status
index a4c5e7a..629c796 100755
--- a/cg-status
+++ b/cg-status
@@ -106,6 +106,24 @@ if [ ! "$gitstatus" ] && [ ! "$workstatu
 fi
 
 
+list_heads()
+{
+	local path="$1"
+
+	if [ -d "$path" ]; then
+		for head in "$path"/*; do
+			list_heads "$head"
+		done
+	else
+		headsha1=$(cat "$path")
+		headname=${path#$_git/refs/heads/}
+		[ "$headname" = "cg-seek-point" ] && continue
+		cf=" "; rf=" "
+		[ "$headname" = "$_git_head" ] && cf=">"
+		[ -s "$_git/branches/$headname" ] && rf="R"
+		echo -e "  $rf$cf$headname\t$headsha1"
+	fi
+}
 
 if [ "$gitstatus" ]; then
 	mkdir -p $_git/refs/heads
@@ -123,15 +141,7 @@ if [ "$gitstatus" ]; then
 	fi
 
 	echo "Heads:"
-	for head in $_git/refs/heads/*; do
-		headsha1=$(cat "$head")
-		headname=$(basename "$head")
-		[ "$headname" = "cg-seek-point" ] && continue
-		cf=" "; rf=" "
-		[ "$headname" = "$_git_head" ] && cf=">"
-		[ -s "$_git/branches/$headname" ] && rf="R"
-		echo -e "  $rf$cf$headname\t$headsha1"
-	done
+	list_heads "$_git/refs/heads"
 
 	if [ -s "$_git/merging" ]; then
 		tmp=$(cat "$_git/merging")


\f
!-------------------------------------------------------------flip-

-- 
Jonas Fonseca

             reply	other threads:[~2005-12-11 19:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-11 19:03 Jonas Fonseca [this message]
2005-12-11 19:49 ` [PATCH] cg-status: handle subdirs when listing heads Jonas Fonseca

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051211190305.GD2960@diku.dk \
    --to=fonseca@diku.dk \
    --cc=git@vger.kernel.org \
    --cc=pasky@ucw.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.