【问题标题】:How come my merged changesets are reappearing when doing reverse integration?在进行反向集成时,我的合并变更集为什么会重新出现?
【发布时间】:2020-10-09 18:13:27
【问题描述】:

也许它的标题令人困惑,但场景是这样的——我们有两个分支;开发-> 质量检查。当测试完成后,人们将他们的变更集从 DEV 一个一个地合并到 QA 中。一切都好。奇怪的是,当我们尝试进行反向集成 QA -> DEV 时,合并向导中会出现少量合并的变更集。如果我为合并选择一个,待处理的更改显示文件已使用“合并、编辑”标签签出,但与最新的相比没有差异。

显然我们需要解决这个问题,因为列表越来越长。但是,我想首先了解为什么会发生这种情况。那么,如何解决这种情况。

我们使用的是 TFS 2015 服务器和 Visual Studio 2015。没有第三方工具。

感谢您的阅读。

【问题讨论】:

    标签: tfs tfs-2015 tfvc


    【解决方案1】:

    当您想要合并回来时,变更集重新出现是因为当 TFS 进行合并时,它基于先前的合并历史记录进行合并,而不是基于源文件和目标文件的实际内容。

    如果你有这样的请求,你可以使用tf merge /discard命令来更新合并历史,它不会执行合并操作。这会丢弃用于特定合并的变更集。

    https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/merge-command?view=azure-devops

    【讨论】:

    • 我不明白这对我有什么帮助?我的问题与源代码管理合并向导有关,它显示了在选择用于反向集成的变更集时转发到分支的变更集。
    • 能否为您的问题提供一些屏幕截图?
    • 一个具体的例子: 1. 我在 DEV 分支中创建了变更集 97645。 2. 我已使用合并向导将此变更集转发给 QA,从而创建变更集 97646。简单。但是,当我以 QA 作为源并以 DEV 作为目标运行合并向导时,合并向导为我提供了 97646 变更集作为候选。我已检查,变更集 97646 没有比 97645 更多的文件或更改。为什么 TFS 向我显示此变更集?
    • 我遇到了你的问题。这是因为当 TFS 进行合并时,它基于先前的合并历史记录进行合并,而不是基于源文件和目标文件的实际内容。为什么要合并回来?
    • 您可以使用tf merge /discard 命令更新合并历史,该命令不执行合并操作。这会丢弃用于特定合并的变更集。 docs.microsoft.com/en-us/azure/devops/repos/tfvc/….
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2012-06-06
    • 2015-12-18
    • 2018-04-03
    相关资源
    最近更新 更多