当代码在TFS中使用分支方法分支时,代码是物理上还是逻辑上分支的?顺便说一下,我的意思是它只是一个变更集(更改的增量)还是复制了所有文件?
分支文件不会在TFS数据库中复制.在修改分支版本之前,不会创建该文件的新版本.这就是为什么在大型项目上创建分支并不需要永远.
资源:
http://www.codeplex.com/BranchingGuidance/Wiki/View.aspx?title=Isolation%20for%20Collaboration&referringTitle=Home
分支下的第四段解释说它不会创建相同文件的单独副本:
创建分支使用非常少的额外存储空间.无论文件夹中包含多少个不同的文件,服务器都只需保留一份相同内容的副本,即可最大限度地减少所需的存储空间.因此,如果您有1个MB文件的100个副本且所有文件都相同,则服务器将仅存储1 MB,而不是100 MB.创建新分支并提交时,新分支中与源分支中的文件相同的所有文件都指向相同的内容.结果是分支消耗非常少的额外存储空间,并且仅当分支文件变得不同于源时,该存储空间才会扩展.即使文件发生变化,Team Foundation Server也会使用差异引擎来分析文件之间的变化,并再次优化存储空间.
Microsoft分支指南PDF:
http://geeks.netindonesia.net/downloads/etc/TFS-Branching.pdf