From: Lasse Makholm Date: Mon, 21 Mar 2011 20:39:32 GMT Subject: Re: git status reads too many files Message-ID: In-Reply-To: <7vipvcs9xt.fsf@alter.siamese.dyndns.org> On 21 March 2011 17:41, Junio C Hamano wrote: > Lasse Makholm writes: > >> This persistent across multiple runs of git status: >> >> $ strace -o /tmp/trace2 git status >> # On branch there >> nothing to commit (working directory clean) >> $ grep ^open /tmp/trace2 | wc -l >> 414 >> $ >> >> ...until the index is touched: >> >> $ touch .git/index > > Don't do this; you are breaking the racy-git protection. Yeah, I know, I was just proving a point... git reset (--hard?) HEAD would achieve the same thing... > I think we opportunistically update the .git/index file in "git status" to > refresh the stat bits (but we don't error out when we cannot write a new > index, as you may be only browsing somebody else's repository with only a > read access to it).  It probably should be just the matter of adding a bit > of logic to notice that your index is racily clean. I figured as much... My original thought of checkout ensuring an index newer than any working file is stupid, of course, for a multitude of reasons -- one of which is that the "next" timestamp may be a full 2 seconds away... > Let me cook something real quick. Sweet, thanks... -- /Lasse