我正在尝试使用 Subversion 创建一个分支。这本书描述的方法不起作用。我在这篇文章中找到了这个链接,但它只是反映了这本书。这种技术失败了。也许我做错了什么?
我使用svn copy
工作目录中的命令创建了一个分支:
svn copy https://server.com/svn/iRP85_V2/trunk https://server.com/svn/iERP85_V2/branches/backlog -m "comment"
这似乎奏效了。然后按照说明,我使用checkout
命令更改工作副本中的代码:
svn checkout https://server.com/svn/iERP85_V2/branches/backlog
看起来它复制了所有内容,但我不确定它到底在做什么。我进行了更改,然后进行了另一次结帐:
svn checkout https://server.com/svn/iERP85_V2/trunk
但是如果没有更改,我就不会得到原件。我得到相同的代码。如果我再次从分支结帐,我会再次获得相同的代码。
发出svn info
命令,我发现无论我通过什么来结帐,我总是在后备箱中。这个命令显然没有按照书中的意思做。它不会更改工作目录的来源。它甚至不会从参数中指定的目标替换工作目录中的模块。它有什么作用?
然后我进一步看了看,看到了 switch 命令,所以我尝试了这个:
svn switch https://server.com/svn/iERP85_V2/branches/backlog
我得到一个错误:
svn: E155025: ' https://server.com/svn/iERP85_v2/trunk ' 与' https://server.com/svn/iERP85_V2 '不是同一个存储库
如果我发出几个信息命令,存储库 ID 是相同的。
G:\Code\Intuitive Projects\Projects>svn info
路径:.
工作副本根路径:G:\Code\Intuitive Projects\Projects
URL:https
://server.com/svn/iERP85_v2/trunk 存储库根:https
://server.com/svn/iERP85_v2 存储库 UUID:b4595441-a089- b54f-bc08-6f65ce278a35
修订:48
节点种类:目录
时间表:正常
最后更改作者:JohnM
最后更改修订:48
最后更改日期:2013-05-16 13:35:06 -0400(2013 年 5 月 16 日星期四)
G: \Code\Intuitive Projects\Projects>svn info https://server.com/svn/iERP85_V2/branches/backlog
路径:backlog
URL:https://server.com/svn/iERP85_V2/branches/backlog
存储库根目录:https
://server.com/svn/iERP85_V2 存储库 UUID:b4595441-a089-b54f-bc08-6f65ce278a35
修订:57
节点种类:目录
上次更改作者:JohnM
最后更改版本:57
最后更改日期:2013-05-20 13:00:38 -0400(2013 年 5 月 20 日星期一)
我什至删除了分支并重新创建它以防万一我做了什么,但我得到了相同的结果。
我一直在主干上开发并想使用分支功能。特别是当发现错误时,我必须要么告诉人们他们必须等待,要么有选择地选择要投入生产的模块。