我正在尝试运行一个merge /discard
命令(tfs merge /discard /version:nnn:yyy $/sourceproj $/targetproj /recursive
),但它显示没有挂起的更改。
如果我运行tfs merge /candidate $/sourceproj $/targetproj
,它会将相关的变更集显示为候选变更集。
你知道为什么会发生这种情况,以及如何避免吗?
谢谢。
发布于 2011-08-02 16:49:56
如果您知道确切的变更集编号,请尝试:
tf merge /discard /version:C111~C111 BranchX BranchY /recursive
这里假设您知道变更集编号(在本例中为111)。
如果这不起作用,那么你可以更新你的问题,给出你输入的确切值以及候选人检查的输出吗?
发布于 2014-04-03 10:40:37
您可能已遮盖/未映射受合并候选项影响的某些目标路径。由于没有可以检出的文件进行合并,因此这些文件将被忽略,从而导致奇怪的行为。考虑一下这个结构:
/branch-A
/SomeFolder
/OtherFolder
/branch-Main
/SomeFolder
/OtherFolder [CLOAKED]
当变更集包含/branch-A/SomeFolder
和/branch-A/OtherFolder
,并且您尝试在此工作区中从分支A合并到主要分支时,将只合并SomeFolder
,从而导致变更集的部分合并,从而再次显示为候选变更集。在工作区中映射/branch-Main/OtherFolder
之前,您永远无法合并(或合并/放弃) OtherFolder的更改。
顺便说一句:通常在合并时,只有合并目标路径必须映射到工作区中,所以在上面的示例工作区中,您可以很好地将/branch-Main/OtherFolder
合并到/branch-A/OtherFolder
。
https://stackoverflow.com/questions/6897031
复制相似问题