git-gui: Disable pull menu items when the index is locked.
[gitweb.git] / git-gui
diff --git a/git-gui b/git-gui
index 8562983d36717f60061a0cae14e1c92fce422a25..4041aaacd9ff6d82010b1344372192bfdcc3b04b 100755 (executable)
--- a/git-gui
+++ b/git-gui
@@ -642,6 +642,7 @@ proc fetch_from {remote} {
 }
 
 proc pull_remote {remote branch} {
+       if {![lock_index update]} return
        set w [new_console "pull $remote $branch" \
                "Pulling new changes from branch $branch in $remote"]
        set cmd [list git pull]
@@ -651,6 +652,7 @@ proc pull_remote {remote branch} {
 }
 
 proc post_pull_remote {remote branch success} {
+       unlock_index
        if {$success} {
                update_status "Successfully pulled $branch from $remote."
        } else {
@@ -930,7 +932,7 @@ proc populate_remote_menu {m pfx op} {
 }
 
 proc populate_pull_menu {m} {
-       global gitdir repo_config all_remotes mainfont
+       global gitdir repo_config all_remotes mainfont disable_on_lock
 
        foreach remote $all_remotes {
                set rb {}
@@ -959,6 +961,8 @@ proc populate_pull_menu {m} {
                                -label "Branch $rb_short from $remote..." \
                                -command [list pull_remote $remote $rb] \
                                -font $mainfont
+                       lappend disable_on_lock \
+                               [list $m entryconf [$m index last] -state]
                }
        }
 }
@@ -1489,7 +1493,7 @@ menu .mbar.push
 
 # -- Options Menu
 menu .mbar.options
-.mbar.options add checkbutton -label {Trust File Modification Timestamp} \
+.mbar.options add checkbutton -label {Trust File Modification Timestamps} \
        -offvalue false \
        -onvalue true \
        -variable cfg_trust_mtime