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 to Use Branching to Stabilize Your <strong>Development</strong> and Build Process<br />

Use a <strong>Development</strong> branch for active development and a Main branch for your<br />

integration build, thus avoiding build breaks.<br />

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

created a <strong>Development</strong> branch:<br />

• <strong>Development</strong> – <strong>Development</strong> Branch<br />

o Source<br />

• Main – Integration Branch<br />

o Source<br />

o Other Assets folders<br />

Keep the following recommendations in mind when working <strong>with</strong> a <strong>Development</strong><br />

branch:<br />

• When to branch – If you are creating daily builds and are having problems <strong>with</strong><br />

build stabilization and integration, create both a Main and a <strong>Development</strong> branch<br />

to provide more predictability to your daily build. You might also want to<br />

consider more stringent check-in policies to improve check-in quality.<br />

• When not to branch – If you are only creating Continuous Integration (CI)<br />

builds, or your daily builds are already predictably stable, you might not need the<br />

extra overhead of an integration branch.<br />

• Permissions on branch:<br />

o The Main branch should be read/write for developers responsible for<br />

merging and integration, but read-only for everyone else.<br />

o The <strong>Development</strong> branch should be read/write for everyone.<br />

• Build frequency in branch:<br />

o Daily builds on the Main branch.<br />

o Continuous Integration builds on the <strong>Development</strong> branch.<br />

• Testing focus on branch:<br />

o Perform integration, performance, and security testing on the Main branch.<br />

o Perform feature and quick feedback testing on the <strong>Development</strong> branch.

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

Saved successfully!

Ooh no, something went wrong!