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

时间:2011-02-24 09:34:13

标签: svn branch rename

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

$ svn move https://server/repos/myrepo/branches/oldbranch \
    https://server/repos/myrepo/branches/newbranch

到目前为止,这么好 - 分支已经重命名。

问题是,我们已从此分支检出现有沙箱,当我尝试更新时,我收到此错误:

$ svn update
svn: Target path '/branches/oldbranch' does not exist

一个相当不言自明的错误。经过快速搜索,我认为我找到了解决方案:Relocating SVN working copy following branch rename

问题是,当我尝试发出该命令时,我得到另一个错误:

$ 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

据我所知,我使用--relocate命令的方式与Sander Rijken相同。有什么想法我得到这个错误?

3 个答案:

答案 0 :(得分:52)

只做

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

来自您的工作副本。

答案 1 :(得分:3)

要更改相对路径,必须才能使用 svn switch(无论如何switch --relocate已被弃用),如{{1}中所述对于第一种形式

  

svn help switch   更新工作副本以镜像存储库中的新URL。

switch URL[@PEGREV] [PATH]

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

答案 2 :(得分:3)

如果您只想在Eclipse中重命名SVN分支,最简单的方法是进入 SVN Repository Exploring Perspective ,然后右键单击您的分支 - > Refactor->重命名