gpt4 book ai didi

TFS 合并 : Cannot discard a changeset

转载 作者:行者123 更新时间:2023-12-02 02:16:18 27 4
gpt4 key购买 nike

我们有一个变更集,开发人员已在其中 checkin 了对源分支和目标分支的更改,许多更改包括两个分支中的重命名。从源分支到目标分支的变更集合并正常,但变更集仍保留在要合并的变更集列表中。

当我现在尝试再次合并变更集时,它说“没有要合并的变更。”。并且变更集保留在队列中。

我们曾尝试使用命令行工具来丢弃变更集,如下所示:

C:\src\project\sourceBranch>tf merge /discard /recursive /version:C8137~C8137 $/Project/sourceBranch $/ Project/targetBranch

这没有帮助。我们也尝试过使用其他选项,例如/force 和/baseless,但没有成功。

还有哪些其他可能性可以摆脱合并候选者之间的变更集?

最佳答案

好吧,基本上你有一个变更集,其中的项目属于直接相关的两个分支。这使得使用变更集的“部分变更集”子组件合并此类变更集。

让我用一种更好的方式来解释:

  • CS1234(您的变更集)
    • 分支 A 的部分 CS1234A(比如源分支)
    • 分支 B 的部分 CS1234B(比如目标)

您执行了从 A 到 B 的合并,将 CS1234A 合并到 B。

现在当您尝试从 A 到 B 的新合并时,您仍然有 CS1234 作为候选,对吗?然后如果你选择它,什么都不做,这是完全可以理解的,因为你已经合并了 CS1234A 和 CS1234B 不属于源分支 (A)。

对我来说,这看起来像是我已经遇到过的 TFS 错误,我认为 Microsoft 使用 TFS 2010 RTM 修复了它,显然不是。

基本上 TFS 给你 CS1234 作为候选,因为它只有一部分被合并,但由于其他部分不能合并,所以将它作为候选没有意义。

关于:

您发起从 B 到 A 的合并(以相反的方式),CS1234 是否作为候选给出?我的假设是,如果您将 CS1234 从 B 合并到 A,那么当您将显示从 A 到 B 的候选人时,您将不会再为这个变更集而烦恼。但我不知道这是否是您愿意做的事情。

无论如何,你应该在 Microsoft Connect site 填写错误

关于TFS 合并 : Cannot discard a changeset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10349483/

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