You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Nathan Sharp <sp...@phoenix-int.com> on 2004/04/07 12:15:28 UTC
Bug w/ corrupted WC URL on a failed switch not really fixed in 1.0.1
v1.0.1 fixes a bug where a failed switch causes the URL of your base
folder in your WC to be corrupted. This appears to not be fully fixed
when you have lots of sub-dirs. The base directory where you are
issuing the switch now gets the correct URL, but some of the sub-dirs do
not. As far as I can tell, it depends on the ordering of the
directories and your OS as to whether it is fatal or not. Let me start
with a recipe:
#Build a blank repos
svnadmin create /tmp/repos
svn mkdir -m "init build" file:///tmp/repos/trunk
svn mkdir -m "init build" file:///tmp/repos/branches
svn mkdir -m "init build" file:///tmp/repos/trunk/p1
svn mkdir -m "make a branch dir" file:///tmp/repos/branches/b1
#check out a wc of p1
svn co file:///tmp/repos/trunk/p1
#switch into the wc and add some directories and files
cd p1
mkdir dir1
mkdir dir1/dir1.1
mkdir dir2
mkdir dir2/dir2.1
echo "bla" >file1.txt
echo "bla" >dir1/dir1.1/file1.txt
echo "bla" >dir2/dir2.1/file1.txt
svn add file1.txt dir1 dir2
svn commit -m "first files"
#branch the project
svn copy -m "make branch" . file:///tmp/repos/branches/b1
#add a new directory and file one level deep on the trunk
mkdir dir1/dir1.2
echo "bla" >dir1/dir1.2/file1.txt
svn add dir1/dir1.2
svn commit -m "add a directory"
#switch to the branch
svn switch file:///tmp/repos/branches/b1/p1
#make the directory that was added on the trunk.
mkdir dir1/dir1.2
#The following will fail because of the conflicting dir1/dir1.2 directory
svn switch file:///tmp/repos/trunk/p1
#this command shows a bad url in 1.0.0 and a good url in 1.0.1
svn info .
#this command shows a bad URL in 1.0.1
svn info dir1
Unfortunately from here the behavior varies greatly between Linux
command line svn and TSVN 1.0.3. While removing dir1/dir1.2 and then
re-issuing the last switch command somehow magically corrects my WC on
Linux, the same in TSVN gives me "File not found: revision '8', path
'/trunk/proj1/folder1.1'". In fact, I can find no way to recover my WC
in TSVN (and re-checking out on our real repository is painful, 30
minutes to re-checkout via svn+ssh and an hour to recompile).
Any help on what is going on and how to work around this?
Thanks,
Nathan
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Bug w/ corrupted WC URL on a failed switch not really fixed in
1.0.1
Posted by makl <ma...@tigris.org>.
Filed as issue 1826
(http://subversion.tigris.org/issues/show_bug.cgi?id=1826).
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Bug w/ corrupted WC URL on a failed switch not really fixed in
1.0.1
Posted by makl <ma...@tigris.org>.
A shorter recipe.
REPO=file://`pwd`/repo
svnadmin create --bdb-txn-nosync repo
svn mkdir -m "r1" $REPO/trunk
svn mkdir -m "r2" $REPO/trunk/p1
svn mkdir -m "r3" $REPO/branches
svn mkdir -m "r4" $REPO/branches/p1
svn mkdir -m "r5" $REPO/branches/p1/p2
svn co $REPO/trunk wc1
mkdir wc1/p1/p2
svn switch $REPO/branches wc1
svn info wc1
svn info wc1/p1
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org