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