为什么TFS中所有文件都标有"合并"?

The*_*ean 15 merge tfs tfs-power-tools

我正在将我的开发分支合并到主分支中.我在开发分支中只更改了一部分文件,所有其他文件应保持不变.从逻辑上讲,我只想合并我已经更改过的文件.我不会检查我没有改变的文件.

但是当我在TFS中执行合并操作时,它会使用更改类型"merge"标记树中的每个文件.看起来我必须检查整个源代码树中的每个文件!我真的不想这样做,因为这样就无法查看变更集,看看我在项目中实际更改了哪些文件.

起初,我以为我可以使用tfpt.exe Undo Unchanged命令撤消所有"合并"更改,但这不会撤消这些更改.

任何人对此都有任何想法?谢谢.

Mik*_*ick 10

这也发生在无基础合并上.当TFS在您正在合并的分支之间没有现有的合并关系时,会发生无基本合并.因此,它会将两个分支中的每个文件都视为"新",因此它会"合并"每个文件.

要创建合并关系,以便将来合并仅列出您实际更改的文件,您需要对所有更改进行无基本合并,直到指定版本,以便TFS知道共同基线应该是什么.您应该合并这些更改执行此操作- 现在更正此分支的基线为时已晚.

如果你实际上并不想从其他分支进行任何更改,但只是告诉TFS这些在逻辑上是相同的版本,你可以为变更集合并"给予信任":tf merge /discard.


Ric*_*erg 7

有许多可能的原因.这不是一个完整的列表:

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

注意:所有这些都适用于2005年和2008年.

  • 如果你重命名你的分支也会出现这种情况. (6认同)
  • 这在我们的TFS 2010服务器中经常发生.而且我们没有在你的列表中做过任何事情. (5认同)