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 $
Received on 2010-06-11 23:57:18 CEST