In TFS (We are using 2012) why is the default to convert your source folder to a branch?
I really don't consider the source a branch. What, if any, advantages/disadvantages does this have?
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.