26.04.2015 Views

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Additional Resources<br />

• For an introduction to branching and merging, see “Branching and Merging Primer”<br />

at http://msdn2.microsoft.com/en-us/library/aa730834(VS.80).aspx<br />

• For more information about branching, see “How to: Branch Files and Folders” at<br />

http://msdn2.microsoft.com/en-us/library/ms181425(VS.80).aspx<br />

• For more information about merging, see “How to: Merge Files and Folders” at<br />

http://msdn2.microsoft.com/en-us/library/ms181428(VS.80).aspx<br />

• For additional descriptions of how to branch and merge in <strong>Visual</strong> <strong>Studio</strong> 2005, see<br />

“Branching and Merging <strong>Team</strong> <strong>Foundation</strong> Source Control” at<br />

http://msdn2.microsoft.com/en-us/library/ms181423(VS.80).aspx<br />

How do I use branching to reduce conflicts between features?<br />

Use Feature branches to improve the integration and stabilization of breaking changes<br />

across features.<br />

The following is an example of what your branch structure might look like after you have<br />

created Feature branches:<br />

• <strong>Development</strong> – Container for Feature branches<br />

o Feature A – Feature branch<br />

• Source<br />

o Feature B – Feature branch<br />

• Source<br />

o Feature C – Feature branch<br />

• Source<br />

• Main – Integration branch<br />

o Source<br />

o Other asset folders<br />

Keep the following recommendations in mind when working <strong>with</strong> Release branches:<br />

• When to branch: Feature teams often have source file overlap, thereby<br />

increasing the potential for build breaks and check-in conflicts. If you are<br />

experiencing these types of problems, consider feature branches for each feature<br />

to provide feature isolation. You can create these off a Main branch for small<br />

teams, or off <strong>Team</strong> branches for larger teams.<br />

• When not to branch: If you are only creating CI builds, or your daily builds are<br />

already predictably stable, you might not need the extra overhead of feature<br />

branches.<br />

• Permissions on branch:<br />

o Read/write permissions for developers on the Feature branch.<br />

o Read-only for everyone else.<br />

• Build frequency on branch: CI builds.<br />

• Testing focus on branch: Feature and quick feedback testing.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!