如何重命名SVN分支并更新现有沙箱中的引用?

我需要重命名一个SVN分支,所以我做了:

  $ svn move https:// server / repos / myrepo / branches / oldbranch \
     https://开头的服务器/回购/ myrepo /分支机构/ newbranch 

到目前为止,这么好 – 分支已经改名了。

麻烦的是,我们有从这个分支签出的现有沙箱,当我尝试更新我得到这个错误:

  $ svn更新
 svn:目标path“/ branches / oldbranch”不存在 

一个相当不言自明的错误。 快速search后,我想我已经find了解决scheme: 重新分配SVN工作副本后分行重命名

麻烦的是,当我尝试发出该命令,我得到另一个错误:

  $ svn switch --relocate https:// server / repos / myrepo / branches / oldbranch \
     https://开头的服务器/回购/ myrepo /分支机构/ newbranch
 svn:Relocate只能更改URL的存储库部分 

就我所知,我正在使用--relocate命令,就像Sander Rijken一样。 任何想法,为什么我得到这个错误?

做就是了

 svn switch https://server/repos/myrepo/branches/newbranch 

从你的工作副本。

要改变相对path,你必须使用 svn switch (无论如何switch --relocate已被弃用),如在svn help switch为1 stforms

switch URL[@PEGREV] [PATH]更新工作副本以在存储库中镜像新的URL。

  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. 

也就是说,在WC oldbranch ,现在是新的newbranch ,你必须使用

svn switch ^/branches/newbranch

如果你只是想在Eclipse中重命名一个SVN分支,最简单的就是进入SVN Repository Exploring Perspective ,然后右键点击你的分支 – > Refactor-> Rename