[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: SVN status and diff showing no modifications (svn 1.4.4 (r25188))

From: Archie Cobbs <archie_at_dellroad.org>
Date: Wed, 7 May 2008 11:20:38 -0500

On Wed, May 7, 2008 at 10:17 AM, Archie Cobbs <archie_at_dellroad.org> wrote:

> I have found an apparent bug, but don't see it in the bug database.

More information on this bug. I realized that it is only reproducible
sometimes and wondered why.

Apparently this is a timestamp issue. The checkout/trunk/dir1/.svn/entries
file contains this:



But the modification time of the file is exactly the same as the first
timestamp in .svn/entries, and apparently this makes SVN mistakenly believe
the file is not modified:

$ ls -l --time-style=full-iso checkout/trunk/dir1/file1.txt
-rw-r--r-- 1 archie awarix 54 2008-05-07 11:03:14.000000000 -0500
$ svn st !$
svn st checkout/trunk/dir1/file1.txt

Simply touching the file causes it to suddenly appear modified to SVN:

$ touch checkout/trunk/dir1/file1.txt
$ ls -l --time-style=full-iso checkout/trunk/dir1/file1.txt
-rw-r--r-- 1 archie awarix 54 2008-05-07 11:12:06.000000000 -0500
$ svn st checkout/trunk/dir1/file1.txt
M checkout/trunk/dir1/file1.txt

This system is Linux using reiserfs. I'm guessing that due to its journaling
behavior that can coalesce multiple operations into a single disk operation,
two distinct file operations can appear to happen at the exact same time.

My guess is that SVN assumes this can't happen. So probably there is a ">"
in the code that instead should be ">=" :-)


Archie L. Cobbs
Received on 2008-05-07 18:21:14 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.