【问题标题】:Discarded changesets in TFS 2013 are still displaying as pending merge candidates in Visual StudioTFS 2013 中丢弃的变更集在 Visual Studio 中仍显示为待处理的合并候选
【发布时间】:2016-09-04 07:24:48
【问题描述】:

由于在 Visual Studio 中似乎没有丢弃待处理合并候选变更集的选项,因此我从 CLI 执行了以下命令:

tf merge [source] [destination] /recursive /version:[changeset]~[changeset] /discard
tf checkin

然后我运行以下命令来确认变更集已从我的合并候选列表中删除,实际上确实按预期将其删除:

tf merge [source] [destination] /recursive /candidate

问题是当我返回 Visual Studio 并执行 Branching & Merging --> Merge 使用与 Selected 变更集相同的源分支和目标分支 选项,源代码管理合并向导仍然显示我刚刚从 CLI 丢弃的变更集作为可用的合并候选。

【问题讨论】:

    标签: visual-studio visual-studio-2013 tfs


    【解决方案1】:

    刚刚使用 TFS 2013.5+VS 2013.5 进行了测试,但无法重现您的场景。在我的测试中,当 not 执行命令 tf checkin 时,如果您执行命令,您将看到刚刚从 CLI 丢弃的变更集仍显示在 Source Control Merge Wizardtf checkin,您将不会再看到丢弃的变更集。

    【讨论】:

    • 我正在使用 MS Visual Studio Premium 2013 版本 12.0.21005.1 REL,即使在执行 tf checkin 后仍然遇到问题
    • 抱歉延迟回复。安装更新 5 成功了,现在 Visual Studio 中只显示有效的合并候选,所以感谢 Cece 的信息!
    • 我可能说得太早了。看起来tf merge /discard 在安装更新 5 后删除了一些我不需要的合并候选者,但不是全部。例如:我执行tf merge /candidate 以获取合并候选者列表,然后从列表中选择一个候选者来执行tf merge /discard,但 CLI 返回一条消息,指出“没有要合并的更改。”,甚至尽管在运行 tf merge /candidate Thoughts 时合并候选者仍然出现在列表中?
    • 所以我想我知道是什么原因导致运行tf merge /discard 后仍然出现的合并候选者出现问题。我查看了与丢弃后仍然出现的合并候选相关联的变更集,它们有两个分支路径包含在变更集中。例如: $/projectAAA/branch/alpha 和 $/projectBBB/branch/alpha 有关如何解决此问题的任何想法?我尝试针对 projectBBB 分支重新运行tf merge /discard,但仍然没有运气;关联的变更集仍然显示为 $/projectAAA/branch/alpha 的合并候选者
    • 经过进一步清理和审查后,看起来在运行 tf merge /candidate 时显示为部分合并(星号)的一些剩余合并候选仅与单个分支相关联,但是当您尝试运行tf merge /discard 他们报告没有待处理的更改。我能够丢弃许多不需要的合并候选,所以它比原来的要好得多,但我很好奇为什么这些其他的仍被报告为部分合并,但没有待处理的更改。
    猜你喜欢
    • 2016-02-02
    • 2012-05-08
    • 2016-09-07
    • 2011-10-01
    • 2018-06-19
    • 2014-07-04
    • 1970-01-01
    • 2014-11-28
    • 2015-02-10
    相关资源
    最近更新 更多