From: Shawn O. Pearce Date: Tue, 23 Oct 2007 22:50:19 +0000 (-0400) Subject: Merge branch 'maint' X-Git-Tag: gitgui-0.9.0~10 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f4e9996b77415707a20a139463c3e3782e2fa48f;p=git.git Merge branch 'maint' * maint: git-gui: Make sure we get errors from git-update-index Conflicts: lib/index.tcl --- f4e9996b77415707a20a139463c3e3782e2fa48f diff --cc lib/index.tcl index 9e04f2b68,28ca03901..a0b22f294 --- a/lib/index.tcl +++ b/lib/index.tcl @@@ -1,6 -1,55 +1,56 @@@ # git-gui index (add/remove) support # Copyright (C) 2006, 2007 Shawn Pearce + proc _delete_indexlock {} { + if {[catch {file delete -- [gitdir index.lock]} err]} { + error_popup [strcat [mc "Unable to unlock the index."] "\n\n$err"] + } + } + + proc _close_updateindex {fd after} { + fconfigure $fd -blocking 1 + if {[catch {close $fd} err]} { + set w .indexfried + toplevel $w + wm title $w [strcat "[appname] ([reponame]): " [mc "Index Error"]] + wm geometry $w "+[winfo rootx .]+[winfo rooty .]" + pack [label $w.msg \ + -justify left \ + -anchor w \ + -text [strcat \ + [mc "Updating the Git index failed. A rescan will be automatically started to resynchronize git-gui."] \ + "\n\n$err"] \ + ] -anchor w + + frame $w.buttons + button $w.buttons.continue \ + -text [mc "Continue"] \ + -command [list destroy $w] + pack $w.buttons.continue -side right -padx 5 + button $w.buttons.unlock \ + -text [mc "Unlock Index"] \ + -command "destroy $w; _delete_indexlock" + pack $w.buttons.unlock -side right + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + wm protocol $w WM_DELETE_WINDOW update + bind $w.buttons.continue " + grab $w + focus $w.buttons.continue + " + tkwait window $w + + $::main_status stop + unlock_index + rescan $after 0 + return + } + ++ $::main_status stop + unlock_index + uplevel #0 $after + } + proc update_indexinfo {msg pathList after} { global update_index_cp