Re: False positives in git diff-index
- From
Alexander Gladysh <agladysh@gmail.com>
- Date
- Jan 6, 2011, 12:12 UTC
- Message-ID
- <AANLkTikJY2u2XKDpqwBYLcTwXz1Je6nW1-cffyaw=-fR@mail.gmail.com>
- In-Reply-To
- <20110105080802.GA15997@sigill.intra.peff.net>
Hi, Jeff,
Apologies for delay. Apparently, after all, the problem does not reproduce each time (like 33% of the time, or there is some another factor that I did not realized yet). And the build process is quite lengthy, so I was not able to gather stats fast enough. But here they are, below:
On Wed, Jan 5, 2011 at 08:08, Jeff King <peff@peff.net> wrote:
> On Wed, Jan 05, 2011 at 07:46:19AM +0000, Alexander Gladysh wrote:
Show 9 quoted lines
>> ----> Rebuilding manifest... >> Making manifest for . >> Generating index.html for . >> :100644 100644 483a7292436daecc9bea0ab265ee19d587b14298 >> 0000000000000000000000000000000000000000 >> M cluster/localhost-ag/rocks/index.html >> :100644 100644 fcb9ff896fd1a1bd15663fa9be19b250789d4a25 >> 0000000000000000000000000000000000000000 >> M cluster/localhost-ag/rocks/manifest
Show 10 quoted lines
>> So, does that mean that HGFS violates consistency guarantees? > > Hmm. That could be the problem. It may not violate traditional > consistency guarantees, but I wonder if it is returning slightly > different stat information between the program runs. That would mean > "git status" does an index refresh and puts some stat information in the > index, but the followup "git diff-index" might see different stat > information. > > That's just a theory, though. You might try the patch below:
<...>
----> Rebuilding manifest... Making manifest for . Generating index.html for . changed (3): cluster/localhost-ag/rocks/index.html changed (3): cluster/localhost-ag/rocks/manifest changed (3): cluster/localhost-ag/rocks/index.html changed (3): cluster/localhost-ag/rocks/manifest changed (115): cluster/localhost-ag/versions/versions-current.lua changed (115): cluster/localhost-ag/versions/versions-current.lua changed (3): cluster/localhost-ag/rocks/index.html changed (3): cluster/localhost-ag/rocks/manifest :100644 100644 483a7292436daecc9bea0ab265ee19d587b14298 0000000000000000000000000000000000000000 M cluster/localhost-ag/rocks/index.html :100644 100644 fcb9ff896fd1a1bd15663fa9be19b250789d4a25 0000000000000000000000000000000000000000 M cluster/localhost-ag/rocks/manifest ----> Comitting changed manifest... changed (3): cluster/localhost-ag/rocks/index.html changed (3): cluster/localhost-ag/rocks/index.html changed (3): cluster/localhost-ag/rocks/manifest changed (3): cluster/localhost-ag/rocks/manifest changed (115): cluster/localhost-ag/versions/versions-current.lua changed (115): cluster/localhost-ag/versions/versions-current.lua 9760438c65f7b0293459e622153f235434436ad6 changed (115): cluster/localhost-ag/versions/versions-current.lua # On branch ag/git-debugging # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # typechange: cluster/localhost-ag/versions/versions-current.lua # no changes added to commit (use "git add" and/or "git commit -a")
Hope this makes some sense, Alexander.