Svn从主干切换到分支

我在一个SVN托pipe项目的trunk的根文件夹中,并且正在探索设置两个分支。

一个分支将成为当前(稳定)版本中项目的“快照”,第二个分支将成为我将要应用一些新代码,testing,然后升级到新版本的一个分支。

我的目标是将快照保持为保险,并快速获得我们项目的一个较老的稳定版本。 第二个分支,一旦我们申请新的代码,testing通过,将被合并回主干,我们提供给公众。

为了设置快照,我将我们的trunk复制到一个名为v1p2p3的分支:

 $ svn cp https://www.example.com/svn/trunk \ https://www.example.com/svn/branches/v1p2p3 \ -m "Branching from root trunk to v1p2p3 at r1114" 

到现在为止还挺好:

 Committed revision 1115. 

我想要做的是切换我的本地存储库副本到这个分支,以确保事情的工作,但我得到一个错误消息:

 $ svn switch --relocate https://www.example.com/svn/trunk \ https://www.example.com/svn/branches/v1p2p3 

错误消息是:

 svn: E155024: Invalid relocation destination: 'https://www.example.com/svn/branches/v1p2p3' (does not point to target) 

我究竟做错了什么?

(如果这不起作用,我怀疑我不能开始更雄心勃勃的第二个分支。我正在寻找一种方法来做到这一点,不会损害现有的项目布局。感谢您的意见,道歉,如果这是一个愚蠢的问题。)

由于分支位于同一个存储库URL中,因此不需要重新定位。 做就是了:

 svn switch https://www.example.com/svn/branches/v1p2p3 
  • (正确的)tzaman答案的短版本将(对于新鲜的SVN)

svn switch ^/branches/v1p2p3

  • --relocate开关已经被弃用了, 当它需要你将不得不使用svn relocate命令

  • 而不是创build快照分支(ReadOnly),你可以使用标签(传统的RO标签的历史)