Folder converted to branch?

coding4fun picture coding4fun · Oct 16, 2012 · Viewed 20.6k times · Source

In TFS (We are using 2012) why is the default to convert your source folder to a branch? Option

I really don't consider the source a branch. What, if any, advantages/disadvantages does this have?

Answer

Jesse Chisholm picture Jesse Chisholm · Apr 9, 2015

Just clarifying some terminology in James Reed's answer.

re: "I don't consider the source a branch"

In a biological tree, the Trunk is not called a Branch.

In computer terminology, both sides of a branching relationship are called Branches. It is only the visualization that chooses to show the original branch as a trunk like on a biological tree. (Because the Visualization tools are written by and for us humans who prefer to think of the [1st original] source branch as the Trunk of a biological tree, and the target branch as the Branch off of the Trunk.)

In TFS 2008 terminology, a Branch is a Folder that has a branching relationship to another Folder. Internally they are both folder objects.

In TFS (since 2010) terminology, a Branch is an internal branch object that is [very much like] a folder object with lots of extra metadata (and a different icon).

re: why is the default to convert your source folder to a branch?

In almost all normal circumstances, when you want to branch the Trunk, you want the source Folder [object] converted to be a Branch [object] so that you have all that extra metadata, which allows the extra Visualizations and Manipulations that are not available with a mere Folder [object].

A restriction is that a Branch [object] may not contain another Branch [object], but a Branch [object] can contain a Folder [object]. So sometimes, in a complex project, you may need to convert a Branch [object] back into a Folder [object] so you can put it inside a higher Branch [object].

To do that, use the menu command File / Source Control / Branching and Merging / Convert to Folder. (: It is not on the right-click Context menu because it is needed so rarely. :)

If in managing your total project, you find you need/want to convert a Folder to a Branch (without yet creating a branching relationship by using the normal Branch command), use the menu command File / Source Control / Branching and Merging / Convert to Branch.