gpt4 book ai didi

SVN 修改 svn :mergeinfo property on files with no change

转载 作者:行者123 更新时间:2023-12-01 01:15:25 35 4
gpt4 key购买 nike

我有 svn 的“问题” 我不明白为什么有时当我合并两个分支时,它会报告修改文件的 mergeinfo 属性,而文本没有更改。
这是正常行为吗?
如果没有,可能是什么问题?

最佳答案

好吧,您确实合并了这两个分支。对?按预期工作。

你所做的是进行合并。即使合并不会导致任何代码更改,并且这在合并中并不少见,Subversion 仍会标记合并已完成。如果不出意外,标记您进行了合并——即使它没有导致任何更改,仍然是一个好主意。想象一下发布了一个版本,有人说“等等,没有人将该分支合并回主干!我们必须推迟发布,直到我们完成”,因为他们没有在 svn:merge-info 中看到合并。记录。

所以,是的,您所看到的可能是正常行为。

现在,如果您的问题是“为什么我的更改没有被合并”,那就是另一个问题了。 Subversion 通常在合并方面做得很好,但你必须确保你做一些事情:

  • 仅从项目的根目录合并,而不是单独的分支和文件。也有异常(exception),但大多数时候您应该合并项目的分支。否则,你最终会得到 svn:merge-info到处都是。
  • 知道何时使用 --reintegrate旗帜。您有一个分支“A”(在本例中可能包括主干)。您从分支“A”创建分支“B”。
  • 从“A”合并到“B”时,不要使用 --reintegrate
  • 当你从“B”合并到“A”时,记得使用--reintegrate .它改变了 Subversion 处理合并的方式。
  • Subversion 不能很好地处理高度复杂的合并情况。如果你把一个分支变成一大堆分支,然后在它们之间来回合并,Subversion 就会搞砸。这是我告诉人们不要为每个功能业务做分支的原因之一。它使跟踪各种合并变得困难,并且可能导致 Subversion 出现合并问题。也许这是一个特性:由于 Subversion 不能很好地处理这些高度复杂的合并情况,因此您必须避免它们。我已经能够通过简单地说明 Subversion 无法处理高度复杂的反模式分支方案来说服许多管理人员摆脱它。
  • 如果您手动合并文件(许多开发人员更喜欢这样做:手动将分支中的更改应用回主干),请使用 svn merge --record-only ,以便 Subversion 知道您已完成合并。当开发人员手动进行一些合并而其他人允许 Subversion 进行合并时,就会产生欢笑。

  • 因此,如果 Subversion 没有合并它应该有的更改,请确保您使用的是 --reintegrate正确,并且您没有遇到上述其他问题。

    关于SVN 修改 svn :mergeinfo property on files with no change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12370435/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com