与其他人相比,Team Foundation Server分支特征

pol*_*lot 7 git version-control tfs mercurial clearcase

TFS的分支特征是什么?


早期分枝/重枝

例如,如果我们查看Perforce,Subversion,CVS等工具,我们会看到分支正在获取主干的副本.它是"早期分支"所有被定义为分支的文件,而不管这些文件是否在该分支中被更改.

在为整个文件树创建分支的决定时,此方法开始创建新版本的文件.

其中一个最大的缺点是,在分支外部(通常在主干中)进行的任何更改,您希望将这些更改带入分支,因为它们具有"早期分支",因此需要将每个文件合并到这些文件的内部.

晚分枝/便宜分枝

与更近期的工具(例如ClearCase,Plastic SCM,AccuRev,Mercurial,Git)相比,我们看到了一个迟到(便宜)的分支政策.

我们看到分支中的第一个新版本仅在分支上签入文件时创建.

这意味着当您希望重新绑定到分支的主干上发生更改时,不会发生未更改文件的合并.

TFS如何表现?


警告:我注意到当我们考虑DVCS工具时,我的术语并不准确.我认识Perforce有一种覆盖视图的圆形方式,但如果没有大量的劳动,就不会这样做.

Von*_*onC 3

注意:版本控制(例如分支和合并)指南可以在此处提供帮助。

在TFS 分支指南 - Lab.zip文件的“Single Dev Team Scenario 2.0.pdf”文档中,您将看到创建分支后会进行提交(检查原始分支中的所有文件。
所使用的空间被最小化,如协作隔离页面中所述:

当您创建新分支并提交时,新分支中与源分支中的文件相同的所有文件都指向相同的内容。
结果是分支消耗很少的额外存储空间,并且仅当分支文件与源文件不同时存储空间才会扩展。
即使文件发生变化,Team Foundation Server 也会采用差异引擎来分析文件之间的变化,并再次优化存储空间。

所以它是 TFS2008 的重分支(带有空间优化)。

在 TFS2010 中,分支是第一类对象,很容易与简单文件夹分开。

TFS分支机构