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.

<strong>Server</strong> Version Control uses branching and merging to support promotion modeling. You<br />

can use multiple branches to isolate specific versions of the application on which you are<br />

working. You can propagate a change by merging from files in one branch to the files in<br />

another branch.<br />

Additional Resources<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 />

• To learn more about the differences between <strong>Visual</strong> SourceSafe and <strong>Team</strong><br />

<strong>Foundation</strong> <strong>Server</strong> Version Control, see “<strong>Visual</strong> Source Safe vs. <strong>Team</strong> <strong>Foundation</strong><br />

<strong>Server</strong>” at http://msmvps.com/blogs/vstsblog/archive/2005/07/02/56401.aspx<br />

How do I merge two branches?<br />

To perform a merge, you can use the merge functionality in Source Control Explorer, or<br />

you can use the merge command-line tool. You can merge based on changeset, label,<br />

date, or version.<br />

You might find that your branching structure becomes deeper than one level. If this<br />

happens, keep in mind that it is only possible to merge one level at a time. For example,<br />

consider the following source tree structure:<br />

• <strong>Development</strong> – Container for isolation development branches.<br />

o Feature A<br />

• Source<br />

o Feature B<br />

• Source<br />

• Main – Main integration build branch<br />

o Source<br />

o Other asset folders<br />

• Releases– Container for Release branches<br />

o Release 1<br />

• Source<br />

o Release 2 – Current release being locked down<br />

• Source<br />

When the source code contained in the Release 2 branch changes, you might want to<br />

eventually merge that change into a Feature branch; for example, to incorporate a bug fix<br />

into the latest feature code. It is not easy to merge directly from Release 2 into Feature<br />

B; instead, you merge from Release 2 into its logical parent, Main, and then from Main<br />

into its logical child Feature B. If you need to merge between branches that do not have<br />

a direct parent-child relationship, you need to perform a baseless merge.

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

Saved successfully!

Ooh no, something went wrong!