mirror of
https://github.com/git/git.git
synced 2024-11-25 02:44:48 +08:00
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 {} {
|
proc reshow_diff {} {
|
||||||
global ui_fname_value ui_status_value file_states
|
global ui_fname_value ui_status_value file_states
|
||||||
|
|
||||||
if {$ui_fname_value != {} && [array names file_states \
|
if {$ui_fname_value == {}
|
||||||
-exact $ui_fname_value] != {}} {
|
|| [catch {set s $file_states($ui_fname_value)}]} {
|
||||||
show_diff $ui_fname_value
|
|
||||||
} else {
|
|
||||||
clear_diff
|
clear_diff
|
||||||
|
} else {
|
||||||
|
show_diff $ui_fname_value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user