TFS变更集问题,如果通过“查看历史记录”打开变更集查看,则文件丢失但存在

时间:2010-06-28 10:02:14

标签: tfs tfs2008 merge changeset

TFS有一个奇怪的问题(TFS2008)。我们已经完成了对主干的合并。我们已经解决了冲突,并且我们已经检查过它与单个工作项的关联。

所以我们的WorkItem中只有一个变更集。

我们的构建失败,因为先前版本的csproj文件是从TFS获得的。如果我打开WorkItem并转到链接并打开更改集,则不会列出csproj文件。事实上,没有列出“合并/编辑”的文件......还有其他人错过了csproj是第一个。

如果我在所述csproj文件上查看历史记录,我会看到它所在的最后一个变更集。如果我打开该变更集(与工作项相关联的数字相同),则csproj文件存在且正确,以及所有其他“合并/编辑”文件。

如果有人有任何想法可能会发生这种情况以及如何解决这个问题,那就太过分了。

由于

1 个答案:

答案 0 :(得分:2)

如果您在MAIN主干上执行查看历史记录,并查看从开发分支合并的变更集,那么CSPROJ会在那里显示吗?听起来它可能没有在合并中被选中。

如果确实显示在该变更集中,合并时是否有可能发生冲突?如果是这样,我们就遇到了这样一个问题:合并的人无意中选择了保留目标版本。在这种情况下,冲突得到解决,就TFS而言,不再需要合并该文件。

如果你有一个似乎缺少的文件列表,并且尝试额外的合并没有提取任何东西,你可以从命令行强制合并(类似):

TF.EXE merge /force /version:T "$/Project/Dev/Src/FileThatWasMissed.csproj" "$/Project/Main/Src/FileThatWasMIssed.csproj"

当然,请记住更改文件名并确保在执行此命令时位于映射目录中。