[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Bug w/ corrupted WC URL on a failed switch not really fixed in 1.0.1

From: Nathan Sharp <spamnps+subversion_at_phoenix-int.com>
Date: 2004-04-07 14:15:28 CEST

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
Received on Wed Apr 7 14:16:03 2004

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.