2

我试图将一个修订从我的分支向上合并到主干。最初,当我尝试将更改应用于主干并且一个文件发生冲突时,在尝试解决冲突时,我犯了一些错误。所以我删除了代码,从存储库中重新检查了主干并再次开始该过程。当我尝试合并修订时,我看到更改没有得到应用。我可以看到文件没有被合并我在做什么有什么问题吗?

同样在樱桃拾取选项中,我可以看到一些修订被跳过。只是想了解 svn 将如何进行更改,如果我在两个版本中修改了一个文件,比如 r1 和 r2,如果我尝试对 r2 进行向上合并,则 r1 更改也会被合并,因为我已经在 r1 之上进行了更改在r2?另外,如果我尝试合并 R1 更改,是否会跳过 R2 更改?另外我在合并中给出两个修订会发生什么?

另外除了比较代码,我怎么知道这个版本是否已经合并到主干?

问候,亚当

4

1 回答 1

0

当您在 SVN 中进行挑选修订时,您必须小心依赖关系。与您的示例案例类似,让我们假设以下情况:

  • R1:修改文件A.txt
  • R2:修改文件A.txt
  • R3:修改文件B.txt

然后,当您以不同的方式进行樱桃采摘时,如下所示:

  • 仅 R2 - 不会工作,因为在它之前有同一个文件的依赖修订
  • R1 + R2 - 将工作,因为所有先前的相关修订(S)也被挑选出来
  • 仅 R3 - 将起作用,因为不存在先前的依赖项。

因此,依赖性检查归结为找出哪些修订涉及对另一个先前修订中的相同文件的修改。当您有许多修订版并在您的樱桃挑选中修改了许多文件时,手动检查可能会令人困惑且容易出错。我建议在我们的发布管理软件 ( http://syncrelease.com/tour )中使用算法检查樱桃采摘中的依赖性

于 2013-11-11T22:43:07.690 回答