Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm not sure if i should ask this question here, or on SO ... i'll cross post it to SO if this is the wrong place.

My group at work has been trying to come up with a good process that we can use with TFS. I'm just wondering if some of you guys had some successful strategies with using TFS across multiple sites using multiple branches.

One specific issue that we have is probably our release engine. On the simple side, a developer should be able to check in his/her changes into the DEV Branch, and then ok certain date (say a freeze date) the DEV Branch will be "reverse integrated" into the Main Trunk (QA) in which then the changes will be pushed to the Production branch. The issue arose when a user check into the DEV Branch, but he doesn't want those changes to be moved into QA (because maybe other portion of the code is not done yet) ... any thoughts on that?

thanks in advanced

share|improve this question
add comment

2 Answers

up vote 1 down vote accepted

I've been using it for about 4 years on a couple different teams. What I've found to work best for our group is managing branches by release/iteration. So all changes for the iteration are made on a development branch and when all of those are ready to go to QA then we merge.

This does become a little bit of a problem if you have something on the branch that isn't really ready to merge but then you can choose not to merge those change sets. That gets messy if the code that you aren't including changes some key piece or something but that has been rare in my experience. What we have done is manage the iterations so that everything really is complete by the end. If there is a piece that is risky you can do a branch off your DEV branch just for that so that you can manage it seperately.

I would keep to as few branches as possible so that you don't spend to much time merging.

share|improve this answer
    
hmm, interesting i think this idea was somewhat brought up. Do you have multiple release branch available? (say the current release and the next release?) –  aggietech Oct 15 '10 at 13:09
1  
Sometimes yes. If we are in testing for a new release but want to make a change to what is currently in production we can do that. You can create a branch based on a changeset number so you don't have to plan for this up front, you can do it as needed. –  Beth Whitezel Oct 15 '10 at 16:23
    
thanks! –  aggietech Oct 15 '10 at 17:37
add comment

MS issued a white paper that covers one approach with detail on why.

http://tfsbranchingguideiii.codeplex.com/ (this is the 2008/2010 version, there is also a 2005 version).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.