How to rename an SVN branch and update references in an existing sandbox?
SvnBranchRenameSvn Problem Overview
I needed to rename a SVN branch, so I did:
$ svn move https://server/repos/myrepo/branches/oldbranch
https://server/repos/myrepo/branches/newbranch</pre>So far, so good -- the branch has been renamed.
The trouble is, we have existing sandboxes checked out from this branch and when I try to update I get this error:
$ svn update svn: Target path '/branches/oldbranch' does not existA fairly self-explanatory error. After a quick search I thought I had found the solution: https://stackoverflow.com/q/4411003/341459
The trouble is, that when I try to issue that command I get another error:
$ svn switch --relocate https://server/repos/myrepo/branches/oldbranch
https://server/repos/myrepo/branches/newbranch svn: Relocate can only change the repository part of an URLAs far as I can see, I am using the
--relocate
command the same way as Sander Rijken. Any ideas why I get this error?
Svn Solutions
Solution 1 - Svn
Just do
svn switch https://server/repos/myrepo/branches/newbranch
from within your working copy.
Solution 2 - Svn
For changing relative path you must to use pure svn switch
(and anyway switch --relocate
is deprecated), as written in svn help switch
for 1-st form
> switch URL[@PEGREV] [PATH]
> Update the working copy to mirror a new URL within the repository.
>
> This behavior is similar to 'svn update', and is the way to
> move a working copy to a branch or tag within the same repository.
I.e in the root of WC for oldbranch
, which is now newbranch
, you have to use
svn switch ^/branches/newbranch
Solution 3 - Svn
If you had simply wanted to rename a SVN branch in Eclipse, the easiest would have been to go into the SVN Repository Exploring Perspective, and then right click on your branch -> Refactor-> Rename