首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我在SVN合并中做错了什么?

我在SVN合并中做错了什么?
EN

Stack Overflow用户
提问于 2010-05-12 23:27:06
回答 4查看 11.9K关注 0票数 16

当SVN与合并跟踪一起工作时,它真的很好,我喜欢它。但它一直被扭曲着。我们使用的是TortoiseSVN。我们不断收到以下消息:

错误:只有在修订版本1234到2345之前已从/Trunk合并到重新集成源时,才能使用重新集成,但事实并非如此

作为参考,这是我们使用的方法:

  1. Create a Branch
  2. Develop in Merge a revisions
  3. 当分支稳定时,将分支<代码>E213从分支重新集成到主干<代码>H214<代码>H115删除分支

在重新集成操作之前,I合并从主干到分支的修订范围(将范围保留为空,因此它应该是所有修订),因此分支应该与主干正确同步。

现在,Trunk有多个与之关联的SVN合并跟踪属性。应该是这样吗?或者,重新集成不应该添加任何合并跟踪信息?

我们的流程有什么问题吗?这使得SVN变得不可用-每3个重新集成中就有1个迫使我潜入并破解合并跟踪信息。

EN

回答 4

Stack Overflow用户

发布于 2010-09-22 23:04:16

当过去从主干到分支执行parial合并时,有时会出现此问题。部分合并是指在整个树上执行合并,但只提交其中的一部分。这将为您提供树中具有与树的其余部分不同步的mergeinfo数据的文件。

上面的--reintegrate错误消息应该列出svn有问题的文件(至少在svn1.6中是这样)。

您可以执行以下任一操作:

  1. 使用错误消息中的范围手动将问题文件从主干合并到分支。注意:您必须从范围的起始处减去1,因此您要运行的命令为:

cd服务器合并-r1233:2345服务器提交

或者

  • 如果您确定分支中的文件内容是正确的,并且您只想将这些文件标记为合并,则可以使用--record-only标志svn merge

cd svn merge --仅记录-r1233:2345 svn commit

(我认为你可以在整个树上使用--record-only,但我还没有尝试过,你必须绝对确定没有真正的合并需要来自主干)

票数 10
EN

Stack Overflow用户

发布于 2010-05-12 23:30:23

Bunny hopping可能是解决方案。

基本上,当您想要从主干中提取这些更改时,而不是不断地将主干更改合并到单个分支(branches/foo,让我们称之为它):

在从旧分支进行的更改中,将主干复制到新分支中(将(branches/foo2).

  • Merge合并到旧分支中( branches/foo2).

  • Delete branches/foo).
票数 3
EN

Stack Overflow用户

发布于 2010-06-01 07:39:34

你的问题是,你试图在一个分支上使用重新集成合并,这个分支已经被“半合并”了。我的建议是,如果这是你的工作流程,那就忽略重新集成,并坚持在版本合并时使用普通版本。

然而,您得到错误的主要原因是因为SVN正在为您执行一些检查。在这种情况下,如果合并包含来自单个文件的额外合并信息,那么svn将抛出一个不稳定并阻止您合并-主要是因为这种情况可能会产生您可能没有注意到的错误。在svn重新集成术语中,这称为subtree merge (请阅读“重新集成到救援”部分,特别是最后有争议的重新集成检查)。

您可以在执行中介合并时停止记录mergeinfo,或者让分支保持原样,直到它准备就绪-然后合并将获取对主干所做的更改。我认为你也可以通过将整个主干合并到分支,而不是单独的文件来通过这个检查,从而保证合并信息在最后的重新集成中是安全的。

编辑:

@随机化用户名:我认为(从来没有仔细观察过)移动时,它落入了“部分合并”陷阱。SVN的一个很酷的特性是,您可以执行稀疏结帐-只获得树的部分副本。当您在中合并部分树时,SVN不能说整个事物都被合并了,因为它显然没有合并,所以它记录合并信息的方式略有不同。这对重新集成没有帮助,因为重新集成必须将所有内容合并回主干,现在它发现一些位在没有合并的情况下被修改,所以它会抱怨。移动看起来是一样的--分支树的一部分现在在mergeinfo中的显示与它预期的不同。我不会为重新整合而烦恼,而是坚持正常的修订范围合并。这是一个很好的想法,但它试图在太多不同的情况下为太多的用户提供太多的东西。

The full story for mergeinfo is here.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2820275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档