In 1.6, we erroneously used the containing directory's revision for the file in certain cases. 1.7 is correct: the file is not changed until r4. Maybe the directory has, but that is independent of the file.
Cheers, -g On Jun 19, 2012 3:02 AM, "Vincent Lefevre" <vincent-...@vinc17.net> wrote: > I've upgraded Subversion from 1.6.17 to 1.7.5 (Debian/unstable). > And there's the following problem: > > Subversion 1.7.5 no longer notices a change of revision of some file > when a parent directory has been moved. In particular, this yields > incorrect keyword expansion. > > The bug can be reproduced with the following script: > > ------------------------------------------------------------ > #!/bin/sh > > set -e > > mkdir my-test-svn > cd my-test-svn > > svnadmin create svn > svn co file://`pwd`/svn wc > cd wc > > svn mkdir dir1 > svn ci -m 'add dir1' > > printf '\044Revision\044\nfoo\n' > dir1/file > svn add dir1/file > svn propset svn:keywords Revision dir1/file > svn ci -m 'add dir1/file' > echo "File dir1/file:" > cat dir1/file > > svn up > svn mv dir1 dir2 > echo "File dir2/file:" > cat dir2/file > svn ci -m 'mv dir1 dir2' > echo "File dir2/file:" > cat dir2/file > > svn up > echo "File dir2/file:" > cat dir2/file > svn info dir2/file > > svn mv dir2/file . > echo "File file:" > cat file > svn ci -m 'mv dir2/file .' > echo "File file:" > cat file > > cd ../.. > rm -rf my-test-svn > ------------------------------------------------------------ > > If I grep the output with '.Revision:\|Last Changed Rev:', I get: > * svn 1.6.17 (r1128011): 2 2 3 3 3 -1 4 > * svn 1.7.5 (r1336830): 2 2 2 2 2 2 4 > > There are 4 differences, but only 3 really matter, because for the > last one (-1 vs 2), the commit hasn't been done yet (so that one is > in some intermediate state). > > Thus the important differences (3 vs 2) correspond to: > > svn ci -m 'mv dir1 dir2' > echo "File dir2/file:" > cat dir2/file > > svn up > echo "File dir2/file:" > cat dir2/file > svn info dir2/file > > The last test of the script shows that the problem doesn't occur > when the file itself is moved. > > Because of that, when checking out a repository with svn 1.7.5, some > files seem to go back in time. > > FYI, my bug report in the Debian BTS: > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=678075 > > -- > Vincent Lefèvre <vinc...@vinc17.net> - Web: <http://www.vinc17.net/> > 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/> > Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) >