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>
This commit is contained in:
parent
7f1df79bb7
commit
73ad179bbb
8
git-gui
8
git-gui
@ -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…
Reference in New Issue
Block a user