Re: [PATCH 4/3] t3700: avoid racy git situation
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 9, 2007, 03:00 UTC
- Message-ID
- <Pine.LNX.4.64.0711090258530.4362@racer.site>
- In-Reply-To
- <7vbqa431vj.fsf@gitster.siamese.dyndns.org>
Hi,
On Thu, 8 Nov 2007, Junio C Hamano wrote:
Show 19 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > The problem is that the index has the same timestamp as the file "foo". > > > > Therefore, git cannot tell if "foo" is up-to-date in the index, since > > it could have been modified (and indeed is) just a fraction of a > > second later than the index was last updated. > > > > And since diff-index, as called from the test script, does not > > generate a diff, but really only determines if the index information > > suggests that the files are up-to-date, there is not really much you > > can do. > > > > This is our good old friend, the racy git problem. > > That sounds very wrong. > > What happened to the ce_smudge_racily_clean_entry() call that is > done from write_index()?
And sure enough I am wrong. My patch assumes that it was the second diff-index which failed, the one after "git add --refresh".
Alas, in shell "a && b && c && d || e" will execute e if a fails. So after debugging this a bit more carefully, it seems that it is indeed the missing update_index --refresh that Kristian mentioned, which leads to this error.
And my patch is wrong.
Ciao, Dscho