Code

git-gui: Display the current branch.
authorShawn O. Pearce <spearce@spearce.org>
Fri, 24 Nov 2006 20:38:18 +0000 (15:38 -0500)
committerShawn O. Pearce <spearce@spearce.org>
Fri, 24 Nov 2006 20:38:18 +0000 (15:38 -0500)
Users want to know what branch they are sitting on before making a commit,
as they may need to switch to a different branch first.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-gui

diff --git a/git-gui b/git-gui
index 34a1daa44d55146c2ac43e4c7a070cd6ce184b98..dd2d750ab17f9c1831ffea70459d07726bfcfaec 100755 (executable)
--- a/git-gui
+++ b/git-gui
@@ -258,11 +258,20 @@ proc unlock_index {} {
 ## status
 
 proc repository_state {ctvar hdvar mhvar} {
-       global gitdir
+       global gitdir current_branch
        upvar $ctvar ct $hdvar hd $mhvar mh
 
        set mh [list]
 
+       if {[catch {set current_branch [exec git symbolic-ref HEAD]}]} {
+               set current_branch {}
+       } else {
+               regsub ^refs/(heads|tags)/ \
+                       $current_branch \
+                       {} \
+                       current_branch
+       }
+
        if {[catch {set hd [exec git rev-parse --verify HEAD]}]} {
                set hd {}
                set ct initial
@@ -3060,6 +3069,25 @@ if {[is_MacOSX]} {
 }
 
 
+# -- Branch Control
+#
+frame .branch \
+       -borderwidth 1 \
+       -relief sunken
+label .branch.l1 \
+       -text {Current Branch:} \
+       -anchor w \
+       -justify left \
+       -font font_ui
+label .branch.cb \
+       -textvariable current_branch \
+       -anchor w \
+       -justify left \
+       -font font_ui
+pack .branch.l1 -side left
+pack .branch.cb -side left -fill x
+pack .branch -side top -fill x
+
 # -- Main Window Layout
 #
 panedwindow .vpane -orient vertical
@@ -3486,6 +3514,7 @@ set PARENT {}
 set MERGE_HEAD [list]
 set commit_type {}
 set empty_tree {}
+set current_branch {}
 set current_diff {}
 set selected_commit_type new