/候选人显示它们时,合并/丢弃报告“无任何更改” [英] merge /discard reports 'No Pending Changes' when /candidate shows them
问题描述
我正在尝试运行 merge / discard
命令( tfs merge / discard / version:nnn:yyy $ / sourceproj $ / targetproj / recursive
),但表示没有任何待处理的更改。
I'm trying to run a merge /discard
command (tfs merge /discard /version:nnn:yyy $/sourceproj $/targetproj /recursive
) but it says there are no pending changes.
如果我运行 tfs merge / candidate $ / sourceproj $ / targetproj
会显示相关的变更集作为候选。
If I run a tfs merge /candidate $/sourceproj $/targetproj
it shows the relevant changesets as candidates.
为什么会发生这种情况以及如何解决?
any ideas why this happens and how to get round it?
谢谢。
推荐答案
您可能已经隐瞒了/未映射一些受合并候选对象影响的目标路径。由于没有可以检出合并的文件,这些文件将被忽略,从而导致奇怪的行为。
考虑以下结构:
You may have cloaked/not mapped some of the target paths that are affected by the merge candidate. As there is no file that could be checked out for the merge, those files will ignored, resulting in the strange behaviour. Consider this structure:
/branch-A
/SomeFolder
/OtherFolder
/branch-Main
/SomeFolder
/OtherFolder [CLOAKED]
当变更集包含 / branch-A / SomeFolder
和 / branch-A / OtherFolder
时,您尝试从分支合并-A到该工作空间中的branch-Main,将仅合并 SomeFolder
,从而导致变更集的部分合并,从而再次显示为候选者。除非在工作区中映射 / branch-Main / OtherFolder
,否则您将永远无法合并(或合并/放弃)OtherFolder的更改。
When the changeset contains /branch-A/SomeFolder
and /branch-A/OtherFolder
and you try to merge from branch-A to branch-Main in this workspace, only SomeFolder
will be merged, resulting in a partial merge of the changeset and thus appearing again as candidate. You will never be able to merge (or merge/discard) the changes for OtherFolder until you map /branch-Main/OtherFolder
in your workspace.
顺便说一句:合并时,通常只有合并目标路径必须在工作空间中映射,因此您可以很好地合并 / branch-Main / OtherFolder
到上面的示例工作区中的 / branch-A / OtherFolder
。
BTW: Generally only the merge TARGET paths must be mapped in a workspace when merging, so you could very well merge /branch-Main/OtherFolder
to /branch-A/OtherFolder
in the sample workspace above.
这篇关于/候选人显示它们时,合并/丢弃报告“无任何更改”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!