与其他人相比,Team Foundation Server分支特征 [英] Team Foundation Server branching characteristics, compared to others

查看:162
本文介绍了与其他人相比,Team Foundation Server分支特征的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

TFS的分支特征是什么?




早期分支/重分支



例如工具Perforce,Subversion,CVS,我们看到分支正在获取主干的副本。这是早分支的所有文件被定义为分支,而不管这些文件是否在该分支进行了更改。



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

其中一个最大的缺点是,在该分支之外进行的任何更改(通常在主干中),您希望将其带入分支,需要每个文件向内合并因为他们有早分支。



延迟分支/便宜分支



与更多最近的工具 - 例如ClearCase,Plastic SCM,AccuRev,Mercurial,Git - 我们看到了一个后期(廉价)分支策略。

只有在分支上签入文件时才会创建分支。



这意味着当您希望重新绑定到分支中的变更发生时,不会合并

TFS如何表现?






注意事项:我注意到当我们考虑DVCS工具时,我的术语并不确切。我认识到Perforce有一种覆盖视图的圆桌会议方式,但这并不是没有很好的劳动。 解决方案

注意:版本控制(前分支和合并)指南可以帮助您。



TFS分支指南 - Lab.zip 文件,您将看到创建分支之后是一个提交(检查原始分支中的所有文件。

使用的空间最小化,详见协作隔离页面:


创建新分支并提交时,新分支中与源文件中的所有文件相同分支指向相同的内容。

结果是分支只占用很少的额外存储空间,并且只有当分支文件与源文件不同时,存储空间才会扩展。

即使文件发生变化,Team Foundation Server也使用差异引擎来分析文件之间的变化,并再次优化存储空间。


是TFS2008的重分支(带空间优化)。

在TFS2010中,分支是第一类对象,可以轻松地从简单文件夹中分离出来。




What are the branching characteristics of TFS?


Early Branching/Heavy Branching

If we look at the tools Perforce, Subversion, CVS, for instance, we see that branching is taking a copy of the trunk. It is "early branching" all of the files which are defined to be branched, irrespective of whether those files are changed in that branch.

This methodology starts creating new versions of files, at the time the decision to create a branch is made, for the entire tree of files.

One of the biggest disadvantages is that any changes made outside that branch (typically in the trunk), that you want to bring into the branch, require per-file merges inwards of these files as they have "early branched."

Late Branching/Cheap Branching

In comparison with more recent tools - for example - ClearCase, Plastic SCM, AccuRev, Mercurial, Git - we see a late (cheap) branching policy.

We see that first new versions in a branch are only created when a file is checked in on a branch.

This means that when changes happen on the trunk that you wish to rebase into your branch, no merges for unchanged files occur.

How does TFS behave?


caveats: I note my terminology is not exact when we consider DVCS tools. I recognise Perforce has a round-about way of overlaying views but it's not done without great labour.

解决方案

Note: the Version Control (ex Branching and Merging) Guide can help here.

In the "Single Dev Team Scenario 2.0.pdf" document of TFS Branching Guide - Lab.zip file, you will see that the creation of a branch is followed by a commit (a checking of all files from the original branch.
The space used is minimized, as described in Isolation for Collaboration page:

When you create a new branch and commit, all of the files in the new branch that are identical to the files in the source branch point to the same content.
The result is that a branch consumes very little additional storage space, and that storage space expands only when the branched file becomes different than the source.
And even when files change, Team Foundation Server employs a differencing engine to analyze changes between files and once again optimize storage space.

So it is heavy branching for TFS2008 (with space optimization).

In TFS2010, branches are first class object and easily separated from simple folders.

这篇关于与其他人相比,Team Foundation Server分支特征的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆