git-gui: Display the current branch.
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>
diff --git a/git-gui b/git-gui
index 34a1daa..dd2d750 100755
--- a/git-gui
+++ b/git-gui
@@ -258,11 +258,20 @@
## 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 @@
}
+# -- 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 MERGE_HEAD [list]
set commit_type {}
set empty_tree {}
+set current_branch {}
set current_diff {}
set selected_commit_type new