我正在尝试运行merge /discard
命令(tfs merge /discard /version:nnn:yyy $/sourceproj $/targetproj /recursive
),但它表示没有待处理的更改。
如果我运行tfs merge /candidate $/sourceproj $/targetproj
,它会将相关的变更集显示为候选人。
任何想法为什么会发生这种情况以及如何绕过它?
感谢。
答案 0 :(得分:0)
如果您知道确切的变更集编号,请尝试:
合并/废弃/版本:C111~C111 BranchX BranchY /递归
这假设您知道变更集编号(在本例中为111)。
如果这不起作用,那么您是否可以更新您的问题以提供您输入的确切值以及候选检查的输出?
答案 1 :(得分:0)
您可能隐藏/未映射受合并候选项影响的某些目标路径。由于没有可以检出合并的文件,这些文件将被忽略,导致奇怪的行为。 考虑这个结构:
/branch-A
/SomeFolder
/OtherFolder
/branch-Main
/SomeFolder
/OtherFolder [CLOAKED]
当变更集包含/branch-A/SomeFolder
和/branch-A/OtherFolder
并且您尝试在此工作空间中从branch-A合并到branch-Main时,只会合并SomeFolder
,从而导致部分合并变更集因此再次出现作为候选人。在工作区中映射/branch-Main/OtherFolder
之前,您永远无法合并(或合并/放弃)OtherFolder的更改。
BTW:通常只有合并TARGET路径必须在合并时映射到工作空间中,因此您可以很好地将/branch-Main/OtherFolder
合并到上面示例工作区中的/branch-A/OtherFolder
。