tfs重新合并不起作用

时间:2012-10-31 21:08:31

标签: visual-studio visual-studio-2008 tfs tfs2008

使用tfs powertools tfpt命令在vs 2008中成功回滚了我的合并。

我试图重新合并,它说没有变化(但有)。

这让人想到另一个想法。当我签入合并时,它在签入中有大约20个文件,即使我只更改了2个文件。现在,当我进行回滚时,它只返回了我更改为检入的2个文件?

1 个答案:

答案 0 :(得分:0)

这是正常的TFS行为。这就是TFS回滚的工作原理,TFS回滚实际上并不是一个“回滚”,它是一个新的变更集,用旧版本覆盖最新版本!

你有分支A(父母)和B(孩子)。您对B进行了一些更改,然后对A进行了合并.TFS现在假设B中的所有更改都存在于A中,并使用时间戳更新其内部数据库。当您回滚A(父)中的更改时,它不会更改TFS对其内部数据库所做的更新。 TFS只是认为这是一个新的变化!所以对于TFS,B和A之间没有变化,因为自上次合并以来B中没有任何变化!有意义吗?

“当我签入合并时,它在签入时大约有20个文件,即使我只更改了2个文件。现在,当我做回滚时,它只给了我2个文件,我更改为签入?“

当你说合并显示20个文件时 - >如果你打开合并变更集,你实际上可以看到哪些文件被编辑,哪些文件刚刚合并。对于更改集中的每个文件,将有一个条目说“合并,编辑”/“合并”/“分支”/“删除”等。这些条目告诉您特定文件的合并到底发生了什么。

在您的情况下,我假设您在这18个文件旁边“合并”。重命名是我见过的最常见的原因。有许多可能的原因。这不是一个完整的清单:

  • 您在标记为“merge”的文件的父文件夹上执行了命名空间操作(删除,取消删除,重命名)
  • 您执行了已在目标分支中执行的命名空间操作(删除,取消删除,重命名)
  • 您执行了一系列命名空间操作,这些操作折叠为无操作(例如删除+取消删除,或重命名 - >> b - > a)
  • 有未解决的冲突
  • 您执行弃牌