git-gui: Grab the index lock while running pull.
authorShawn O. Pearce <spearce@spearce.org>
Wed, 8 Nov 2006 02:30:46 +0000 (21:30 -0500)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 8 Nov 2006 04:48:21 +0000 (23:48 -0500)
The user must not modify the index while a git pull operation is running,
doing so might cause problems for the merge driver and specific strategy
being used.  Normally on the command line people are just really good and
don't try to run index altering operations while they are also running a
pull.  But in a slick GUI like git-gui we can't trust the user quite as
much.

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

diff --git a/git-gui b/git-gui
index 8562983d36717f60061a0cae14e1c92fce422a25..2d82152b362f9b34722b88b72f64539da2380a16 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 {