1
votes

I created an SVN repository called MyProject (using VisualSVN Server). At the time I was the only developer so I didn't bother with /trunk and /branches. Now the project has grown and we need this setup.

So I created a /branches and a /trunk directory in the repository root. I created a new branch, this worked fine. I did an 'svn move' to move everything previously in the root into /trunk. This seemed to work fine also.

NOW how do I update my developers' working copies without forcing them to do a new checkout? Both SVN switch and SVN relocate give me errors:

svn switch http://server/svn/MyProject http://server/svn/MyProject/trunk

Produces the error "'http://server/svn/MyProject/trunk' is not a local path".

svn relocate http://server/svn/MyProject http://server/svn/MyProject/trunk

Produces a different error: "'http://server/svn/MyProject/trunk' is not the root of the repository."

Well no shit! That's the whole reason I want to move this working copy, so it's NOT pointing at the root of the repository. I realize I can just do an SVN update, but that will essentially bring down two new full versions of the entire repository... all the moved files and the new branch. That is precisely what I'm trying to avoid. Please help! Is there a way out here? Why does svn switch not work?

1

1 Answers

2
votes

It seems you use wrong arguments to svn switch. The correct one should be simply

svn switch http://server/svn/MyProject/trunk

assuming your are currently in your local project directory.