Re: [RFC] Add posibility to preload stat information.
From: Thomas Rast <hidden>
Date: 2016-06-15 22:56:28
Jeff King [off-list ref] writes:
On Wed, Mar 20, 2013 at 10:15:39AM -0700, Junio C Hamano wrote:quoted
Jeff King [off-list ref] writes:quoted
So maybe just run "git status >/dev/null"?In the background? How often would it run? I do not think a single lockfile solves anything. It may prevent simultaneous runs of two such "prime the well" processes, but the same user may be working in two separate repositories.Yes, in the background (he invokes __git_recursive_stat already in the background). I'd think you would want to run it whenever you enter a repository.quoted
I do not see anything that prevents it from running in the same repository over and over again, either. "prompt" is a bad place to do this kind of thing.Yeah, I did not look closely at that. The commit message claims "When entering a git working dir", but the implementation runs it on each prompt invocation, which is awful. I think you'd want to check to use rev-parse to see if you have changed into a new git repo, and only run it once then.
I think it would actually be a somewhat interesting feature if it
interacted with GIT_PS1_SHOW*. If you use these settings (I personally
use SHOWDIRTYSTATE but not SHOWUNTRACKEDFILES), the prompt hangs while
__git_ps1 runs git-status. It should be possible to run a git-status
process in the background when entering a repository, and displaying
some marker ('??' maybe) in the prompt instead of the dirty-state info
until git-status has finished. That way the user doesn't have his shell
blocked by cding to a big repo.
--
Thomas Rast
trast@{inf,student}.ethz.ch