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

Re: [Issue 2746] New - update overwrites w/o warning local modification if local timestamp did not change

From: Justin Erenkrantz <justin_at_erenkrantz.com>
Date: 2007-03-24 18:07:16 CET

On 3/23/07, Greg Hudson <ghudson@mit.edu> wrote:
> There does seem to be a real issue here:
>
> svn update
> mv file1 file2 # file1 has same size and mtime as file2
> svn rm file1
> svn st # file2 appears unchanged
> svn update # Smashes file2
>
> It may be an uncommon case, but there's no broken tool involved, and
> mv's behavior isn't going to change.

But, mv's behavior with respect to ctime isn't consistent across
platforms or file systems. I just tried FreeBSD, Darwin, Solaris, and
Linux. FreeBSD and Darwin don't alter ctime on mv while Solaris and
Linux do. So, depending upon ctime telling you anything is a red
herring doomed to failure on a sizable number of Unix platforms.

Hence, the only other possibility is inodes - and I'm with Erik that
they are also too unstable in practice to address this realistically.
Therefore, the only 100% guaranteed solution is to do a full compare
all the time on *every* file - which is attacking a fly with a
shotgun, IMO.

We can't save the world here. Hence, I believe our current status in
trunk is sufficient. -- justin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Mar 24 18:07:33 2007

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