From: Alex Riesen Date: Tue, 21 Apr 2009 12:41:40 GMT Subject: Re: [PATCH] tests: test applying criss-cross rename patch Message-ID: <81b0412b0904210541o17baa103h62fc0825727fe83b@mail.gmail.com> In-Reply-To: <7viqkya3hq.fsf@gitster.siamese.dyndns.org> 2009/4/21 Junio C Hamano : > Alex Riesen writes: > >> 2009/4/11 Michał Kiedrowicz : >>> +test_expect_success 'criss-cross rename' ' >>> +       mv file1 tmp && >>> +       mv file2 file1 && >>> +       mv tmp file2 >>> +' >>> + >>> +test_expect_success 'diff -M -B' ' >>> +       git diff -M -B > diff && >>> +       git reset --hard >>> + >>> +' >> >> This cannot work on systems where ctime is not trusted: >> git diff will produce no data, as there are no changes in >> metadata (the files are of the same size). Either make >> the file sizes different or add a "touch file1 file2". > > You seem to be saying that we still have a racy-git bug somewhere.  Is > your statement from an actual experience or a speculation? The test reproducibly fails for me. > If the former we have a bug to kill, not a workaround to avoid the > issue in this test. Maybe. As I see it, there is just not _enough_ metadata in this particular case to notice the change without doing complete content comparison: the size is the same, mtime is the same, dev/ino aren't available, and ctime is marked untrusted and thus is not used. What's left to notice the change?