Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 如何使用Subversion进行分支_Svn - Fatal编程技术网

Svn 如何使用Subversion进行分支

Svn 如何使用Subversion进行分支,svn,Svn,我正试图用Subversion做一个分支。书中描述的方法不起作用。我发现了,但它只是反映了这本书。这项技术失败了。也许我做错了什么 我使用工作目录中的svn copy命令创建分支: svn copy https://server.com/svn/iRP85_V2/trunk https://server.com/svn/iERP85_V2/branches/backlog -m "comment" 这似乎奏效了。然后按照说明,我使用checkout命令更改工作副本中的代码: svn check

我正试图用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:“” 与存储库不同 ''

如果我发出两个info命令,则存储库id相同

G:\Code\intential Projects\Projects>svn info

路径:
工作副本根路径:G:\Code\intential Projects\Projects
URL:
存储库根:
存储库UUID:b4595441-a089-b54f-bc08-6f65ce278a35
修订:48
节点类型:目录
日程安排:正常
上次更改作者:JohnM
上次更改版本:48
最后更改日期:2013-05-16 13:35:06-0400(2013年5月16日星期四)

G:\Code\intential Projects\Projects>svn info

路径:待办事项
URL:
存储库根:
存储库UUID:b4595441-a089-b54f-bc08-6f65ce278a35
修订:57
节点类型:目录
上次更改作者:JohnM
上次更改版本:57
最后更改日期:2013-05-20 13:00:38-0400(2013年5月20日星期一)

我甚至删除了分支并重新创建它,以防我做了什么,但我得到了相同的结果


我一直在开发主干,希望使用分支功能。特别是当发现bug时,我必须告诉人们他们必须等待,或者有选择地选择要投入生产的模块。

您尝试如何做到这一点的原则看起来是正确的。看来你只是被一些细节绊倒了。如果不能访问您的存储库和硬盘,或者输入更详细的命令,很难说您做错了什么

第一个想法:创建新分支后,是否尝试签出到旧签出所在的目录?那不行。您必须签出到其他地方,或者使用“svn开关”更改当前工作副本以查看新分支


开关出现的问题表明您没有指向您认为是的存储库。vm006.corp.rotair.com是另一个存储库,还是您的本地机器,还是什么?

首先,我要感谢大家的帮助。问题似乎是“v”。使用iERP85_V2对副本有效。Visual SVN还报告iERP85_V2。但是,switch命令仅适用于iERP85_v2。没有两个存储库,只有一个。svn服务器将其显示为V2,svn info将其显示为V2。这是一个对用户非常不友好的工具:)


再次感谢

不要使用
签出
从主干切换到分支--使用
svn开关
。在签入更改之前,请使用
svn info
确保您的工作树确实位于分支上。在您进行更改之前,我们将从中获得
svn info
输出,我们不知道您是否真的成功地更改了分支。至于声称由于存储库ID不匹配而无法切换的系统,请在切换过程中使用相对URL来模拟这方面的任何可能性:
svn switch'^iERP85\u V2/branchs/backlog'
,而不是完整的URL。您描述问题的方式,似乎您还没有完全了解SVN分支的工作方式。(尤其是分支中的更改必须合并到
主干中才能显示在那里)。我建议你多读一些。@Charles-谢谢你的回复。我甚至不能让我的工作目录指向分支。我尝试了以下三种语句:G:\Code\intential Projects\Projects>svn开关^iERP85\u V2/branchs/backlog svn:E125002:“iERP85\u V2/branchs/backlog”似乎不是URL G:\Code\intential Projects\Projects>svn开关“^iERP85\u V2/branchs/backlog”svn:E125002:“^iERP85\u V2/branchs/backlog”似乎不是URL G:\Code\inuitive Projects\Projects>svn开关“^iERP85\u V2/branchs/backlog”svn:E125002:“iERP85\u V2/branchs/backlog”似乎不是URLURL@mad-我不想在分支到主干之间进行任何更改。我正在尝试编辑一个分支。这就是全部。你描述的步骤都是在我无法通过的步骤之后。你是对的,我不明白这是怎么回事。关于分支和合并的部分我已经读了两遍。再读一遍也无济于事。我按照指示做了,但还是失败了。去年我尝试过这个方法,但因为它不起作用而不得不放弃。我删除了大多数声明中的服务器名称,因为我认为在公共论坛上发布服务器名称是不明智的。你指出的那个是我错过的。我在每一条语句中都显式地命名服务器,但它们并不存在于我的本地计算机上。这里还有别的问题。我可能没有指向存储库,我想我是这样的,那么如果显式命名它不起作用,我如何将它放到那里呢?啊,这是一个骗局。旁注:可能是他