From: Johannes Sixt Date: Mon, 03 Sep 2007 13:49:50 GMT Subject: Re: [PATCH] Add a new lstat and fstat implementation based on Win32 API Message-ID: <46DC10FE.1080805@eudaptics.com> In-Reply-To: <46DBFA2A.7050003@trolltech.com> Marius Storm-Olsen schrieb: > There was a problem with racy conditions, which this revision fixes. > The problem was that fstat was using the builtin implementation, which for > for some reason is off by some amount of seconds. (This is probably due to > some leap-year issue in one of the implementations. However, Microsoft > tells > us to use 116444736000000000 in http://support.microsoft.com/kb/167296, so > I'll stick with that.) Thanks for the analysis and new patch. Indeed, FILETIME is UTC, which is good; the native implementation returns local time, if I read the code (of msvcrt) correctly. > With the our own implementations of lstat & fstat, the following test cases > are now fixed: > t4116-apply-reverte.sh > ok 3: apply in reverse > t4200-rerere.sh > ok 17: young records still live > However, the following test cases seems to fail now: > t6024-recursive-merge.sh > FAIL 1: setup tests > FAIL 3: result contains a conflict > FAIL 4: virtual trees were processed > FAIL 5: refuse to merge binaries > > See attached test case logs. > Are some of these test cases unstable, so the result will fluctuate on > Windows? I see many more failures. in: t4001-diff-rename.sh: 5 t4101-apply-nonl.sh: all t4102-apply-rename.sh: 2,3,4 t4116-apply-reverse.sh: 3 t4200-rerere.sh: 12,13,17 t5515-fetch-merge-logic.sh: 54 etc... There is something fishy going on. But at least the failure in t4116 is easy to work around: diff --git a/t/t4116-apply-reverse.sh b/t/t4116-apply-reverse.sh index fc2f622..f3e0c4a 100755 --- a/t/t4116-apply-reverse.sh +++ b/t/t4116-apply-reverse.sh @@ -43,7 +43,8 @@ test_expect_success 'apply in reverse' ' git reset --hard second && git apply --reverse --binary --index patch && git diff >diff && - git diff /dev/null diff + : > empty && + git diff empty diff ' -- Hannes