How to rename an SVN branch and update references in an existing sandbox?

SvnBranchRename

Svn 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 exist

A 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 URL

As 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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLee NethertonView Question on Stackoverflow
Solution 1 - SvnkhmarbaiseView Answer on Stackoverflow
Solution 2 - SvnLazy BadgerView Answer on Stackoverflow
Solution 3 - SvnLeopold GaultView Answer on Stackoverflow