On 02/03/2012 02:09 PM, Philip Martin wrote:
Johan Holmberg<holmb...@iar.se> writes:
So I don't think saying "If that timestamp differs from the one on
disk, the file is considered modified." is correct. "svn" does not
work like that for me at least.
You are correct, that is not how Subversion behaves. Subversion checks
the timestamp to determine whether to do a full text comparison. If the
timestamp and size of a working file match the recorded values the file
is assummed to be unmodified. If the values differ Subversion does a
full text comparison to determine if the files differ.
I have now done some further experiments. I just issued commands like this:
$ svn status # no modified files reported
$ touch foo.txt bar.txt
$ svn status
M foo.txt <------ only "foo.txt" not "bar.txt"
$
So for my "problematic" files (like "foo.txt" in my example), svn
actually is sensitive to a change in timestamp. But my project consists
of 21000 files, and only 19 of these are "problematic". I have still no
clue why just these 19 files behave like that.
I can repeat the commands above several times, and it consistently flags
*one* of the two files as modified. Always the same file.
/Johan Holmberg