Code

git-gui: Allow creating a branch when none exists
authorShawn O. Pearce <spearce@spearce.org>
Wed, 30 May 2007 15:27:49 +0000 (11:27 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 30 May 2007 23:34:40 +0000 (19:34 -0400)
If the user has no branches at all (their refs/heads/ is empty)
and they are on a detached HEAD we have a valid repository but
there are no branches to populate into the branch pulldown in
the create branch dialog.  Instead of erroring out we can skip
that part of the dialog, much like we do with tracking branches
or tags when the user doesn't have any.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/branch.tcl

index caaee5cf17ff6033158dd1c7db219f1298ac5b86..4f648b2bc7a52e965ee62bcce7687c0e356f3f31 100644 (file)
@@ -201,12 +201,14 @@ proc do_create_branch {} {
        pack $w.desc -anchor nw -fill x -pady 5 -padx 5
 
        labelframe $w.from -text {Starting Revision}
-       radiobutton $w.from.head_r \
-               -text {Local Branch:} \
-               -value head \
-               -variable create_branch_revtype
-       eval tk_optionMenu $w.from.head_m create_branch_head $all_heads
-       grid $w.from.head_r $w.from.head_m -sticky w
+       if {$all_heads ne {}} {
+               radiobutton $w.from.head_r \
+                       -text {Local Branch:} \
+                       -value head \
+                       -variable create_branch_revtype
+               eval tk_optionMenu $w.from.head_m create_branch_head $all_heads
+               grid $w.from.head_r $w.from.head_m -sticky w
+       }
        set all_trackings [all_tracking_branches]
        if {$all_trackings ne {}} {
                set create_branch_trackinghead [lindex $all_trackings 0]