I'm a part of a small development team who are in the process of moving from Visual Source Safe to TFS2010.
I've been reading about TFS structure and came across a very good question.
One thing mentioned in the above link which I'm not sure about is the Development structure:
- Development/
- Trunk/
- Source/
- etc/
- Branches/
- Source/
- etc/
I don't really understand the need for the Trunk
and Branches
as separate children containers to Development
. How I'm reading this structure is that Trunk
would branch from Integration
(or Main
if you use MS terminology) and Branches
would then branch from Trunk
(i.e. Trunk
is the parent to multiple Branches
).
If this is the case, I don't understand the advantage of the extra layer in the hierarchy. What seems logical to me (remembering that I've been learning this stuff for about a day) is that if you want multiple development branches, to have each development branch as a child of the Development
container:
- Development/
- DevBranchOne/
- Source/
- etc/
- DevBranchTwo/
- Source/
- etc/
In the above structure (where DevBranchOne
and DevBranchTwo
are replaced with meaningful names), development branches are siblings and all branching from Integration
(or Main
). Given the above, my questions are:
- Is my understanding of the intended use of the
Trunk
inDevelopment
correct? - If the answer to my first question is yes, what is the advantage of implementing such a hierarchy in
Development
? - Is the use of
Trunk
simply something that has been carried over from SVN (with which I have no experience)?