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
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
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.
#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?
To unsubscribe, e-mail: firstname.lastname@example.org
For additional commands, e-mail: email@example.com
Received on Wed Apr 7 14:16:03 2004