Browse Source

git-gui: Use catch rather than array names to check file.

When we reshow the current diff file it can be faster to just fetch
the value from the file_states array than it is to ask for all paths
whose name exactly matches the one we want to show.  This is because
[array names -exact] is O(n) in the number of files.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
maint
Shawn O. Pearce 18 years ago
parent
commit
73ad179bbb
  1. 8
      git-gui

8
git-gui

@ -350,11 +350,11 @@ proc clear_diff {} { @@ -350,11 +350,11 @@ proc clear_diff {} {
proc reshow_diff {} {
global ui_fname_value ui_status_value file_states

if {$ui_fname_value != {} && [array names file_states \
-exact $ui_fname_value] != {}} {
show_diff $ui_fname_value
} else {
if {$ui_fname_value == {}
|| [catch {set s $file_states($ui_fname_value)}]} {
clear_diff
} else {
show_diff $ui_fname_value
}
}


Loading…
Cancel
Save