代码之家  ›  专栏  ›  技术社区  ›  Jennifer Zouak

在tfs中,我们可以自定义合并算法(冲突解决)

  •  1
  • Jennifer Zouak  · 技术社区  · 14 年前

    在我们的示例中,我们希望igonore更改生成的代码的代码注释头。在Visual Studio中,我们可以更改合并工具(弹出的GUI),并使用能够自定义以忽略更改的第三方工具。( http://msdn.microsoft.com/en-us/library/ms181446.aspx )很好,所以文件比较不再强调代码注释的差异。

    但是,当需要签入时,tfs合并算法仍然在提示我们解决冲突。

    有没有什么方法可以更好地通知合并冲突解决算法哪些更改对我们来说是真正重要的?或者我们可以替换算法,或者让它把工作分包给第三方?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Richard Berg    14 年前

    不,但这实际上是一个很好的答案。当TFS阻止签入时,并不是因为它运行的是任何类型的差异:而是因为您的本地版本与最新版本不匹配。换句话说,自从上次使用自定义合并工具运行get+解决了文件冲突后,其他人签入了临时文件。识别这些情况是一个重要的服务器端功能,不能也不应该被禁用,因为它不能被可靠地检测到 任何 合并工具(包括构建在TFS客户机API中的工具)。

    回到为什么这是一件好事:一旦冲突对话框再次出现,您可以像往常一样自由地解决自定义工具中的其他冲突。任何时候都不会调用内置的文本合并引擎。*进程仍然完全在您的控件中。您仍然需要选择一个“赢家”[或者从可用输入中生成一个新的赢家],即使根据您的工具,文件在语义上是相同的。但这与其他任何解决方案都没什么不同,比如您显然已经处理过的方案。

    好吧,我撒谎了。它用于生成您在对话框中看到的“x added,y deleted…”摘要。重点是,它是 参与识别版本冲突,也不会修改任何文件,除非您要求(“为我合并更改”)。