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标签的历史)