This project has moved and is read-only. For the latest updates, please go here.

Branching Plan For TFS Beginner

Mar 31, 2011 at 2:16 PM

Hi, i'm new to tfs (source control in general) and was wondering if someone could let me know if i'm on the right track with the following structure.  Our company builds a content management system which we build websites on top of (using the latest version each time).  Here's the setup i am experimenting with:

Basically everytime we are ready for a release we create a folder for the release under the "Releases" folder (eg Release 1.3) and then branch the "Main" branch underneath this folder called "Release".  Then we would label it as "Release 1.3.0".  Now if we built a site say we would see "Release 1.3" is the latest release and create a branch from the Release branch to within the same directory (the folder allows us to see which version each site is branched under easily).  Since we never merge changes from to it's subsequent release branch we should be fine to change as we wish to add any bespoke code or styling changes.  Please correct me if i'm wrong.

Now we have this in place if we wanted to patch "Release 1.0".  We would fix the change in Release 1.0/Release branch and label it as "Release 1.0.1".  We would then merge that change with all the sites underneath that branch.  We're not interested in maintaining the Release 1.0.0 code therefore an inbetween branch is not needed.

I hope i have explained this well enough.  Please let me know if this would work or if i am living in cloud cockoo land.  Thanks

Mar 31, 2011 at 4:08 PM

You seem to be following the basic plan in the Rangers Branching Guidance. From your description, it seems you have a good understanding. Congratulations, and feel free to ask additional questions as they arise.

Bill Heys
VS ALM Ranger

Apr 1, 2011 at 9:43 AM

Thanks for the reassurance.  One final question.  Where would i put a third party library that i needed to patch?  I wouldn't want to duplicate the third party code under each branch as i see this as over kill.  Would you recommend i started a new team project for each third party library or add another folder within my project to put them inside?

I'd appreciate your advice once more.  Thanks

Apr 1, 2011 at 5:14 PM

When you say you have a "third party library that I need to patch", is this a source code library or a .NET DLL (Assembly)?

I am assuming you are talking about sharing third-party code with one or more *dependent* team projects, and that the dependent team project needs to modify (patch) the library?

Do the changes (patches) need to be merged back to the base copy of the third-party code?

Depending on your answers to these question, I will probably blog on this issue, and post the link back here.

Bill Heys
VS ALM Ranger