Skip to content

Commit

Permalink
Merge branch 'maint'
Browse files Browse the repository at this point in the history
* maint:
  git-gui: Make sure we get errors from git-update-index

Conflicts:

	lib/index.tcl
  • Loading branch information
Shawn O. Pearce committed Oct 23, 2007
2 parents dec2b4a + d4e890e commit f4e9996
Showing 1 changed file with 53 additions and 12 deletions.
65 changes: 53 additions & 12 deletions lib/index.tcl
Original file line number Diff line number Diff line change
@@ -1,6 +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 <Visibility> "
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

Expand Down Expand Up @@ -35,10 +85,7 @@ proc write_update_indexinfo {fd pathList totalCnt batch after} {
global file_states current_diff_path

if {$update_index_cp >= $totalCnt} {
close $fd
unlock_index
$::main_status stop
uplevel #0 $after
_close_updateindex $fd $after
return
}

Expand Down Expand Up @@ -100,10 +147,7 @@ proc write_update_index {fd pathList totalCnt batch after} {
global file_states current_diff_path

if {$update_index_cp >= $totalCnt} {
close $fd
unlock_index
$::main_status stop
uplevel #0 $after
_close_updateindex $fd $after
return
}

Expand Down Expand Up @@ -175,10 +219,7 @@ proc write_checkout_index {fd pathList totalCnt batch after} {
global file_states current_diff_path

if {$update_index_cp >= $totalCnt} {
close $fd
unlock_index
$::main_status stop
uplevel #0 $after
_close_updateindex $fd $after
return
}

Expand Down

0 comments on commit f4e9996

Please sign in to comment.