TFS分支是物理还是逻辑快照?

时间:2009-02-11 15:23:09

标签: tfs branch

当使用分支方法在TFS中分支代码时,代码是物理上还是逻辑上分支的?顺便说一下,我的意思是它只是一个变更集(更改的增量)还是复制了所有文件?

2 个答案:

答案 0 :(得分:24)

不会在TFS数据库中复制分支文件。在修改分支版本之前,不会创建该文件的新版本。这就是为什么在大型项目上创建分支并不需要永远。

<强>来源:

http://www.codeplex.com/BranchingGuidance/Wiki/View.aspx?title=Isolation%20for%20Collaboration&referringTitle=Home

分支下的第四段解释说它不会创建相同文件的单独副本:

  

创建分支使用很少   额外的存储空间。服务器   最小化所需的存储空间   保留一份相同内容的副本   无论有多少不同的文件   包含在文件夹中。所以,如果你   拥有100个1 MB文件的副本   的文件是相同的,服务器   将只存储1 MB,而不是100 MB。什么时候   你创建一个新的分支和提交,   新分支中的所有文件   与文件中的文件相同   源分支指向相同的   内容。结果是一个分支   消耗很少的额外费用   存储空间和存储空间   仅在分支文件时扩展   变得与源不同。和   即使文件发生变化,团队   Foundation Server使用了   区分引擎来分析变化   文件之间再次优化   存储空间。

Microsoft分支指南PDF:

http://geeks.netindonesia.net/downloads/etc/TFS-Branching.pdf

答案 1 :(得分:3)

简短回答:分支以逻辑方式存储,而不是父代的直接副本。

答案很长:VS ALM Ranger的Bill Heys写了一篇详细的博客文章,描述了分支和文件历史如何存储在TFS中。

http://blogs.msdn.com/b/billheys/archive/2011/05/05/how-tfs-stores-files-and-calculated-deltas-on-versioned-files.aspx