<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx</link><description>I've seen a lot of people looking for more information on Team Project organization and branching. The Version Control PMs are putting together some good whitepapers on it. Recently, however, there have been some questions about how we do branching at</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#492201</link><pubDate>Sun, 13 Nov 2005 07:52:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:492201</guid><dc:creator>Ian Dunross</dc:creator><description>If that was meant for public consumption. It was a waste of time. If it was your internal documentation may be it was a good attempt.&lt;br&gt;&lt;br&gt;May be a small step by step example would be good for mere mortals of the world.&lt;br&gt;</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#492207</link><pubDate>Sun, 13 Nov 2005 08:19:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:492207</guid><dc:creator>Keeron</dc:creator><description>Excellent start :) I've been curious about the branching structure and mainly the VBLs. Larry Osterman had few blog posts about the build labs (in relation to his audio feature in Vista), but never went in such details. &lt;br&gt;&lt;br&gt;Please do post more on this - as Ian mentioned, examples would be great. Maybe even take a known enough feature and walk us through the various branches. &lt;br&gt;&lt;br&gt;How does CTP releases come into play here? What about integration issues (.net was a critical part of both VS and SQL server). &lt;br&gt;Do developers often (or seldom?) work on priviate branches or they usually work on this VBLs?&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#492209</link><pubDate>Sun, 13 Nov 2005 08:43:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:492209</guid><dc:creator>TAG</dc:creator><description>Ian Dunross, &lt;br&gt;&lt;br&gt;Microsoft has no any internal documentation. This is one of reasons why they hire Technical Writer's &lt;br&gt;</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#492260</link><pubDate>Sun, 13 Nov 2005 19:05:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:492260</guid><dc:creator>bharry</dc:creator><description>Sorry it was so incomprehensible.  Hopefully my follow up is better.  If not just let me know.&lt;br&gt;&lt;br&gt;Of course we have internal documentation on tons of things.  In fact there's quite a lot of internal docs on the VBLs and how to use them.  Unfortunately that's has no bearing on whether or not I'm a good writer :)&lt;br&gt;&lt;br&gt;Brian</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#492686</link><pubDate>Tue, 15 Nov 2005 01:06:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:492686</guid><dc:creator>Keith Hill</dc:creator><description>Very interesting IMO.  Your switching to feature branches is similar to an approach we used to take on a product where we didn't have branching available in our SCM tool.  It was primarily C based and we used #if WANT_SOME_FEATURE preprocessor directives extensively in code to &amp;quot;firewall&amp;quot; features until they were ready to be turned on for everybody.  It was a bit of a hassle to go back in after the release and clear out the firewalls but for a team of 8 people it worked pretty darn well.  And yes, there were features that we &amp;quot;turned off&amp;quot; shortly before shipping due to major bugs cropping up.</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#498493</link><pubDate>Wed, 30 Nov 2005 21:47:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:498493</guid><dc:creator>Keith Hill</dc:creator><description>Can you elaborate on this statement?  &amp;quot;We never RI from the release branch back into main.&amp;quot;.  Thanks.</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#499221</link><pubDate>Fri, 02 Dec 2005 05:25:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:499221</guid><dc:creator>bharry</dc:creator><description>Sure when the development gets to the point where it is time to do a release - a beta or an RTM we create a &amp;quot;release branch&amp;quot;.&lt;br&gt;&lt;br&gt;At that point the &amp;quot;main&amp;quot; tree opens up for continued work for then next release.  The release branch is just used for critical bug fixes that block the release.&lt;br&gt;&lt;br&gt;We require that, when a developer has an approved fix for the release branch, he/she separately check it in to the main branch and the release branch.  The reason for this is that the fix for the release branch is frequently different than the fix for the main branch.  This happens for a couple of reasons:&lt;br&gt;&lt;br&gt;1) Active development in the main branch has caused the code to diverge enough that the fix needs to be different.&lt;br&gt;&lt;br&gt;2) We must choose a fix with the absolute least chance of introducing a new bug in the release branch where as we can take more risk in the main branch.  As a result, frequently the fixes in the release branch are &amp;quot;short term&amp;quot; fixes and the main branch gets the proper long term fix.</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#499914</link><pubDate>Sun, 04 Dec 2005 23:47:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:499914</guid><dc:creator>Keith Hill</dc:creator><description>Thanks for the explanation.  Makes sense.</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#500723</link><pubDate>Wed, 07 Dec 2005 01:21:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:500723</guid><dc:creator>Brent Clark</dc:creator><description>We've got around 35 developers, and have been using a similar system for the last 3 years.  It's been a real savior.  It's interesting to hear of others doing the same sort of thing.  Our implementation is based on VSS, where we make copies of the whole VSS database for a VBL - branching within VSS takes around 40 hours, which is far too long - hanging out for VSTS to be approved for implementation.&lt;br&gt;It would be good to see a diagram of how you've fit things together.</description></item><item><title>bharry's WebLog : Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#528307</link><pubDate>Thu, 09 Feb 2006 08:31:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:528307</guid><dc:creator>Bat's Blog</dc:creator><description /></item><item><title>Quickie: bharry on VBLs and branching</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#581274</link><pubDate>Sat, 22 Apr 2006 16:36:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:581274</guid><dc:creator>Stuart Celarier</dc:creator><description>A couple of posts by Brian Harry (bharry) from November 2005 about virtual build labs and branching on the TFS project...</description></item><item><title>Branch Structures at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#667419</link><pubDate>Sun, 16 Jul 2006 18:01:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:667419</guid><dc:creator>Community Blogs</dc:creator><description>I love it when the crew from Microsoft post up details about their internal processes. This time its</description></item><item><title>
    Brian Harry: &amp;#8220;Branch structure in Developer Division at Microsoft&amp;#8221; &amp;mdash;
  Version Control Blog &amp;mdash;
  branching and merging, Use cases, 
</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#1354500</link><pubDate>Sun, 24 Dec 2006 02:42:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1354500</guid><dc:creator>
    Brian Harry: “Branch structure in Developer Division at Microsoft” —
  Version Control Blog —
  branching and merging, Use cases, 
</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://versioncontrolblog.com/2006/12/24/brian-harry-branch-structure-in-developer-division-at-microsoft/"&gt;http://versioncontrolblog.com/2006/12/24/brian-harry-branch-structure-in-developer-division-at-microsoft/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#1423407</link><pubDate>Sat, 06 Jan 2007 20:43:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1423407</guid><dc:creator>j</dc:creator><description>&lt;p&gt;How are the rollbacks occur once released to main?&lt;/p&gt;
</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#1434327</link><pubDate>Mon, 08 Jan 2007 16:22:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1434327</guid><dc:creator>bharry</dc:creator><description>&lt;p&gt;The truth is that they don't happen too often. &amp;nbsp;Mostly we have a &amp;quot;keep moving forward&amp;quot; mentality - which means we fix the problem in Main rather than roll the changes back. &amp;nbsp;That said, we do it occasionally if the problem is too hard to identify or too involved to fix. &amp;nbsp;We use the &amp;quot;tfpt rollback&amp;quot; command in the Team Foundation Power Toys. &amp;nbsp;You can find a link of the Team Foundation Server developer center under &lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com"&gt;http://msdn.microsoft.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Brian&lt;/p&gt;
</description></item><item><title>Microsoft SCM 的策略 -- from BHarry</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#1498809</link><pubDate>Sat, 20 Jan 2007 18:52:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1498809</guid><dc:creator>Refines.Info["Polo Lee"]</dc:creator><description>&lt;p&gt;bharry's WebLog : A Branching and Merging Primer Branch structure in Developer Division at Microsoft&lt;/p&gt;
</description></item><item><title>Copyright Revewals &amp;raquo; Team Foundation Server Branching Guidance John Jacob Mario Rodriguez &amp;#8230;</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#8357271</link><pubDate>Fri, 04 Apr 2008 18:36:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8357271</guid><dc:creator>Copyright Revewals &amp;raquo; Team Foundation Server Branching Guidance John Jacob Mario Rodriguez &amp;#8230;</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://copyrightrenewalsblog.info/team-foundation-server-branching-guidance-john-jacob-mario-rodriguez/"&gt;http://copyrightrenewalsblog.info/team-foundation-server-branching-guidance-john-jacob-mario-rodriguez/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Branch structure in Developer Division at Microsoft</title><link>http://blogs.msdn.com/bharry/archive/2005/11/12/492198.aspx#8463293</link><pubDate>Tue, 06 May 2008 18:41:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8463293</guid><dc:creator>TD</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;At the moment I am working with the TFS and creating the branches on new team projects, rather then on folders on the same team project. &lt;/p&gt;
&lt;p&gt;At the moment I do not have problems with that and I find it very usable.&lt;/p&gt;
&lt;p&gt;Is there any best practice or disadvantages to this solution?&lt;/p&gt;
</description></item></channel></rss>