【问题标题】:TFS merge changeset into file with pending changeTFS 将变更集合并到具有待处理变更的文件中
【发布时间】:2011-10-01 05:26:43
【问题描述】:

我觉得这是一个非常愚蠢的问题,但我在任何地方都找不到答案。

所以我们有一个 Dev 分支和一个 QA 分支。我将一堆来自 Dev 的连续变更集合并到 QA 中,并解决冲突。现在我想在我刚刚合并的更改上合并到以后的变更集中(没有签入第一次合并的更改)。没有骰子,TFS 说:

The item $/My/Path/to/the/file.vb has an incompatible pending change.

它有什么问题?为什么它不给我一个合并冲突选项来将新的变更集合并到具有待处理变更的文件中?我不想签入第一个合并只是为了合并另一个变更集。

【问题讨论】:

    标签: tfs merge


    【解决方案1】:

    TFS 不允许您合并多个不连续的变更集,如果同一个文件在它们中都发生了更改。您最好的选择是签入第一组更改,然后进行合并。

    【讨论】:

    • 类似的答案在这里stackoverflow.com/questions/3905901/…
    • 这是不可能的,这很奇怪。如果您有 3 个变更集 A、B、A*(基于 A); A & A* 涉及相同的文件,而 B 涉及完全不同的文件,如果你尝试合并 A,然后 A*,你会得到一个错误,但如果你一次合并所有 3 个,它可以工作,然后你可以撤消从 B 中触摸的文件,你就有了你想要的最终状态。 (除非 TFS 决定错误地自动合并)为什么 TFS 不能只做我手动做的事情?
    • 这会在每次通过我们的门控构建验证运行签入时增加大约 30 分钟的延迟。
    【解决方案2】:

    我遇到了同样的问题。我确实撤消了所有挂起的本地更改并取消了挂起的更改。它解决了我的问题。

    【讨论】:

      【解决方案3】:

      由于不同的原因,我遇到了同样的问题,因为我偶然在这里寻求帮助,所以我会给出我的解决方案。

      我有一个从 main 分支出来的分支 (branched_from_main)。我对 branched_from_main 进行了更改,并将它们检入到 tfs 存储库中。然后,当我尝试将 branched_from_main 合并回 main 时,我遇到了这个问题。在研究了一段时间后,我意识到我已经打开了主解决方案并构建了它。这意味着该解决方案现在取消了所有 nuget 包。因此,我的主要分支将包视为待处理的更改。

      因此,要解决此问题,我必须重新打开主解决方案并撤消那些待处理的更改。然后我能够将 branched_from_main 合并回 main。

      【讨论】:

        【解决方案4】:

        签入您要分支到的文件夹就足够了。

        就我而言,我在目标分支中创建了一个新文件夹,它处于“添加”状态(没有签入),我遇到了同样的问题。在我签入此文件夹后,它运行良好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-04-25
          • 1970-01-01
          • 1970-01-01
          • 2016-03-19
          • 1970-01-01
          • 2016-09-04
          • 2013-04-27
          • 2012-05-08
          相关资源
          最近更新 更多