On 29/07/19 7:58 AM, Mark Levedahl wrote:
On 7/28/19 6:49 PM, brian m. carlson wrote:> On 2019-07-28 at 22:10:29,
Pratyush Yadav wrote:
>> The function is not documented, and I only started spelunking the
code a
>> couple days back, so I'll try to answer with what I know. It might
not be
>> the full picture.
>>
>> Running git-gui --trace, these commands are executed during a rescan:
>>
>> /usr/lib/git-core/git-rev-parse --verify HEAD
>> /usr/lib/git-core/git-update-index -q --unmerged --ignore-missing
--refresh
>>
>
> Great. This sounds like a well-reasoned change. I'll let other folks who
> use git-gui more chime in to see what they think as well.
>
I'm assuming this does what is currently done by F5.
A simple rescan from git-gui in the git repository takes about 8 seconds
on my corporate laptop running Windows, making this happen on change of
window focus is definitely not a friendly change from my view point.
This is a Windows problem maybe? On my Linux machine with an almost dead
hard drive, it takes under 10ms to do a refresh on the git repository
(which has about 56,000 commits).
Can you check what takes so long? I don't use Windows or I'd do this myself.
Go to git-gui.sh and add some prints to the rescan procedure (line 1450)
to trace which operation takes time. It is not a shell script, but a tcl
script, so you'd need to add "puts <your_string_here>" just to have an
approximate idea of what takes so long.
Can someone else who uses git-gui comment on the time taken to rescan on
the git repo (on Windows, Linux, or Mac)?
You can use this to see how long it takes to do a rescan. It will print
the time taken to stdout:
-- >8 --
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 8ca2033dc8..7f2962f060 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -2360,7 +2360,11 @@ proc do_rescan {} {
}
proc ui_do_rescan {} {
+ set t [clock milliseconds]
rescan {force_first_diff ui_ready}
+ set t2 [clock milliseconds]
+
+ puts "Time elapsed in ui_do_rescan = [expr $t2 - $t]ms"
}
proc do_commit {} {
-- >8 --
--
Regards,
Pratyush Yadav