Le 11/06/2010 21:42, Mike Dixon a écrit : > On 6/11/2010 7:09 AM, Manuel Pégourié-Gonnard wrote: >> Consider the following scenario: someone copies a directory, then commit. >> Inside >> this directory, there are a few files with the $Rev$ keyword set to be >> expanded. >> Another user updates his working copy to the same revision. Both look at the >> expansion of the $Rev$ keyword in the files: they are not the same. >> >> I'm quite surprised, since I would have expected this to be independent of >> the >> working copy used (as long as it's up-to-date, obviously). > > After committing, your working copy is not up-to-date. You need to > explicitly call svn update. > Right, I forgot this step in my test script, but it was done in the real situation where I first noticed this behaviour.
Anyway, it doesn't change anything to this problem. Below is the new version of the script I'm using to test this, and its output. As you can see, I'm doing a svn up in the two working copies just before looking at the files, but still get different values for the expanded $Rev$. Manuel. ===== reproducer script ===== #!/bin/sh LC_ALL=C; export LC_ALL set -x svnadmin create repo svn co file://$PWD/repo active svn co file://$PWD/repo passive cd active svn mkdir dir echo '$Rev$' > dir/file svn add dir/file svn propset svn:keywords Rev dir/file svn ci -mdummy svn cp dir newdir svn ci -mdummy cd .. (cd passive && svn up) (cd active && svn up) head -v */newdir/file ===== script output ===== + svnadmin create repo + svn co file:///home/mpg/tmp/svnfoo/repo active Checked out revision 0. + svn co file:///home/mpg/tmp/svnfoo/repo passive Checked out revision 0. + cd active + svn mkdir dir A dir + echo $Rev$ + svn add dir/file A dir/file + svn propset svn:keywords Rev dir/file property 'svn:keywords' set on 'dir/file' + svn ci -mdummy Adding dir Adding dir/file Transmitting file data . Committed revision 1. + svn cp dir newdir A newdir + svn ci -mdummy Adding newdir Committed revision 2. + cd .. + cd passive + svn up A newdir A newdir/file A dir A dir/file Updated to revision 2. + cd active + svn up At revision 2. + head -v active/newdir/file passive/newdir/file ==> active/newdir/file <== $Rev: 2 $ ==> passive/newdir/file <== $Rev: 1 $