git-gui: Unlock the index when cancelling merge dialog
[gitweb.git] / git-gui.sh
index 0aecf41e65a7ef6e06a75d1bd05b49eab03f2c02..6b7321bb03284fd52bae608f161b2fe4e094437f 100755 (executable)
@@ -1,6 +1,12 @@
 #!/bin/sh
 # Tcl ignores the next line -*- tcl -*- \
-exec wish "$0" -- "$@"
+ if test "z$*" = zversion \
+ || test "z$*" = z--version; \
+ then \
+       echo 'git-gui version @@GITGUI_VERSION@@'; \
+       exit; \
+ fi; \
+ exec wish "$0" -- "$@"
 
 set appvers {@@GITGUI_VERSION@@}
 set copyright {
@@ -271,11 +277,6 @@ proc tk_optionMenu {w varName args} {
 ##
 ## version check
 
-if {{--version} eq $argv || {version} eq $argv} {
-       puts "git-gui version $appvers"
-       exit
-}
-
 set req_maj 1
 set req_min 5
 
@@ -1041,15 +1042,17 @@ proc do_gitk {revs} {
        #    lets us bypass using shell process on Windows systems.
        #
        set cmd [list [info nameofexecutable]]
-       lappend cmd [gitexec gitk]
+       set exe [gitexec gitk]
+       lappend cmd $exe
        if {$revs ne {}} {
                append cmd { }
                append cmd $revs
        }
 
-       if {[catch {eval exec $cmd &} err]} {
-               error_popup "Failed to start gitk:\n\n$err"
+       if {! [file exists $exe]} {
+               error_popup "Unable to start gitk:\n\n$exe does not exist"
        } else {
+               eval exec $cmd &
                set ui_status_value $starting_gitk_msg
                after 10000 {
                        if {$ui_status_value eq $starting_gitk_msg} {
@@ -1544,8 +1547,7 @@ if {[is_MacOSX]} {
 
        # -- Tools Menu
        #
-       if {[file exists /usr/local/miga/lib/gui-miga]
-               && [file exists .pvcsrc]} {
+       if {[is_Cygwin] && [file exists /usr/local/miga/lib/gui-miga]} {
        proc do_miga {} {
                global ui_status_value
                if {![lock_index update]} return
@@ -1622,7 +1624,7 @@ unset browser doc_path doc_url
 
 # -- Standard bindings
 #
-bind .   <Destroy> {if {{%W} eq {.}} do_quit}
+wm protocol . WM_DELETE_WINDOW do_quit
 bind all <$M1B-Key-q> do_quit
 bind all <$M1B-Key-Q> do_quit
 bind all <$M1B-Key-w> {destroy [winfo toplevel %W]}