This bug has surprised me a few times where two working copies of the
same repository would have different properties but I have finally found
a recipe that works to re-create the problem.
The basic problem is when a directory has a property. You delete the
property and add a file. In a second working copy also create a file of
the same name. When you do an update in the second working copy it will
fail due to a obstructed update. If you delete the obstructed file and
rerun the update the property will not be deleted. If you delete the
whole directory and rerun the update then the property goes away.
It sound quite confusing but the attached script should demonstrate it
easily.
I've tested the script on both 0.33.0 and 0.34.0.
The only reason I found this is I use properties to maintain symlinks in
directories and when I converted a symlink to a file the symlink would
not disappear as the property was not being deleted in the WC even
though it was in the repository.
I hope someone can use this script to track down the actual problem.
Ross
#!/bin/sh
REPOSDIR=`pwd`/repos
REPOS=file://`pwd`/repos
SVN=`which svn`
SVNADMIN=`which svnadmin`
rm -rf $REPOSDIR wc1 wc2
#set -x
$SVNADMIN --version
$SVN --version
$SVNADMIN create $REPOSDIR
$SVN co $REPOS wc1
mkdir wc1/dir1
$SVN add wc1/dir1
$SVN propset testprop hello wc1/dir1
$SVN ci -m "new property" wc1
$SVN co $REPOS wc2
touch wc2/dir1/file
echo Delete the property
$SVN propdel testprop wc1/dir1
echo hello > wc1/dir1/file
$SVN add wc1/dir1/file
$SVN ci -m "del property add file" wc1
echo 'The following will fail with an obstructed update'
$SVN update wc2
rm wc2/dir1/file
echo 'This update will work'
$SVN update wc2
echo 'There should be no properties here'
$SVN proplist wc1/dir1
echo '*****LOOK HERE: There should be no properties here but there is'
$SVN proplist wc2/dir1
echo 'Confirm svn thinks the directory is uptodate'
$SVN update wc2
$SVN info wc2/dir1
echo 'Delete the directory and update'
rm -rf wc2/dir1
$SVN update wc2
echo 'The Property is now gone'
$SVN proplist wc2/dir1
echo 'svn info for comparison'
$SVN info wc2/dir1
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Dec 15 03:20:46 2003