Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
One of the less known features in TFS is the ability to create partial branches. A partial branch is where you create a branch with only a set of subtrees of the source branch. There are a number of reasons why you might want to do it, including saving disk space on the server, saving time on merging, etc.
The reason it is not a very visible feature, is that it is enabled by the fact that branch / merge command respect your target working folder mappings.
To create a partial branch:
C:\TEMP\ws>tf dir trunk /r
$/proj/trunk:
$dev
$qa
2 item(s)
The next part is a bit non-intuitive as you need to cloak out the path in target space, even though it doesn't exist as yet:
C:\TEMP\ws>tf workfold /cloak branch\qa
C:\TEMP\ws>tf branch trunk branch
branch
branch:
dev
C:\TEMP\ws>tf checkin /i
Checking in branch: branch
branch:
Checking in branch: dev
Changeset #7 checked in.
Keep in mind that you must have the mappings in every workspace you use to merge, as not having them will cause the branch to convert to a full branch as shown.
C:\TEMP\ws>tf merge trunk branch /r
There are no changes to merge.
C:\TEMP\ws>tf workfold /decloak branch\qa
C:\TEMP\ws>tf merge trunk branch /r
merge, branch: $/proj/trunk/qa;C6 -> $/proj/branch/qa
Cheers