<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Branch-Per-Feature Source Control. Part 2: How (Theory)</title>
	<atom:link href="http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/</link>
	<description>Better Than Yesterday</description>
	<lastBuildDate>Fri, 24 May 2013 06:39:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Nathan Prather</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-390</link>
		<dc:creator>Nathan Prather</dc:creator>
		<pubDate>Wed, 05 Aug 2009 12:37:26 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-390</guid>
		<description>Great article!  

We use VisualSVN to manage our code.  How do you manage SQL Schema changes in the database?   Do you branch these off with each feature as well?

Thanks for the great articles!
Nathan</description>
		<content:encoded><![CDATA[<p>Great article!  </p>
<p>We use VisualSVN to manage our code.  How do you manage SQL Schema changes in the database?   Do you branch these off with each feature as well?</p>
<p>Thanks for the great articles!<br />
Nathan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: charl v</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-389</link>
		<dc:creator>charl v</dc:creator>
		<pubDate>Fri, 31 Jul 2009 13:20:18 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-389</guid>
		<description>Very informative!

This has answered some of my previous questions in part 1. The key is the sync from the trunk. I usually merge into my trunk from the branch without syncing first and this caused some major headaches.

Can&#039;t wait for the next one :)</description>
		<content:encoded><![CDATA[<p>Very informative!</p>
<p>This has answered some of my previous questions in part 1. The key is the sync from the trunk. I usually merge into my trunk from the branch without syncing first and this caused some major headaches.</p>
<p>Can&#8217;t wait for the next one :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: derick.bailey</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-388</link>
		<dc:creator>derick.bailey</dc:creator>
		<pubDate>Wed, 29 Jul 2009 16:24:37 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-388</guid>
		<description>@Kevin,

Good question - and not an easy one to answer. I&#039;ve been having conversations around that exact issue with my current team leads, and a few other people via email, recently. My Part 3 Strategy post will cover this topic in some detail. I&#039;ll provide different scenarios and issues surrounding the scenarios.

this issue really is a question of &#039;what is your merge strategy?&quot; what do you merge, where and when...

I&#039;m trying to find time to finish that post and am hoping to have it done this week.</description>
		<content:encoded><![CDATA[<p>@Kevin,</p>
<p>Good question &#8211; and not an easy one to answer. I&#8217;ve been having conversations around that exact issue with my current team leads, and a few other people via email, recently. My Part 3 Strategy post will cover this topic in some detail. I&#8217;ll provide different scenarios and issues surrounding the scenarios.</p>
<p>this issue really is a question of &#8216;what is your merge strategy?&#8221; what do you merge, where and when&#8230;</p>
<p>I&#8217;m trying to find time to finish that post and am hoping to have it done this week.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Berridge</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-387</link>
		<dc:creator>Kevin Berridge</dc:creator>
		<pubDate>Wed, 29 Jul 2009 16:03:59 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-387</guid>
		<description>I&#039;m curious you&#039;ve encountered either of these issues, and if so, how you&#039;ve handled it.

What do you do if you land a feature in the trunk and then realize that its not ready? (Saying &quot;that shouldn&#039;t happen&quot; isn&#039;t an answer, it happens, despite the best intentions)  Do you just let it hold up your release, or do you try to roll it back (if other people haven&#039;t also landed in trunk), or disable it manually?

What do you do if you want to merge two feature branches?  Suppose you originally thought these two &quot;features&quot; would be independent but you now need to work on them together for any number of reasons.  Does SVN force you to merge along the branch lines (like TFS), so your only choice is to merge to trunk, or can you merge between &quot;siblings&quot; (ex: from Feature A&#039;s branch into Feature B&#039;s branch w/o going through the trunk)?

Thanks,
Kevin</description>
		<content:encoded><![CDATA[<p>I&#8217;m curious you&#8217;ve encountered either of these issues, and if so, how you&#8217;ve handled it.</p>
<p>What do you do if you land a feature in the trunk and then realize that its not ready? (Saying &#8220;that shouldn&#8217;t happen&#8221; isn&#8217;t an answer, it happens, despite the best intentions)  Do you just let it hold up your release, or do you try to roll it back (if other people haven&#8217;t also landed in trunk), or disable it manually?</p>
<p>What do you do if you want to merge two feature branches?  Suppose you originally thought these two &#8220;features&#8221; would be independent but you now need to work on them together for any number of reasons.  Does SVN force you to merge along the branch lines (like TFS), so your only choice is to merge to trunk, or can you merge between &#8220;siblings&#8221; (ex: from Feature A&#8217;s branch into Feature B&#8217;s branch w/o going through the trunk)?</p>
<p>Thanks,<br />
Kevin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bogardj</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-386</link>
		<dc:creator>bogardj</dc:creator>
		<pubDate>Thu, 23 Jul 2009 21:07:37 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-386</guid>
		<description>@Ike

SVN switch is your friend.  I switch from trunk to branches on one local working copy as I move back and forth.</description>
		<content:encoded><![CDATA[<p>@Ike</p>
<p>SVN switch is your friend.  I switch from trunk to branches on one local working copy as I move back and forth.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ike Casteleyn</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-385</link>
		<dc:creator>Ike Casteleyn</dc:creator>
		<pubDate>Thu, 23 Jul 2009 17:28:53 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-385</guid>
		<description>I&#039;ve been thinking about this too.
However I know my collegues and they don&#039;t like to branch. Mainly because you still need to checkout the branch and it takes time (and probably a littel fear of merging).

Is there any added value for having a branch per feature (the only thing I can think of now is, you can easily see what changes were needed for a feature)

instead of having

a branch per team (only works of course if the teams don&#039;t change often). Then you could setup your CI also to this.

Best regards,
Ike</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been thinking about this too.<br />
However I know my collegues and they don&#8217;t like to branch. Mainly because you still need to checkout the branch and it takes time (and probably a littel fear of merging).</p>
<p>Is there any added value for having a branch per feature (the only thing I can think of now is, you can easily see what changes were needed for a feature)</p>
<p>instead of having</p>
<p>a branch per team (only works of course if the teams don&#8217;t change often). Then you could setup your CI also to this.</p>
<p>Best regards,<br />
Ike</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bogardj</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-384</link>
		<dc:creator>bogardj</dc:creator>
		<pubDate>Thu, 23 Jul 2009 16:02:56 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-384</guid>
		<description>@Jim, Damon

We do branch-per-feature, and we use Hudson for our build.  It&#039;s literally 5 minutes to set up a new build.  yes, Hudson is Java, building our .NET app, but it&#039;s so easy to create a new build.

All of our other mainline trunk builds and deployments are still CCNET for historical reasons.</description>
		<content:encoded><![CDATA[<p>@Jim, Damon</p>
<p>We do branch-per-feature, and we use Hudson for our build.  It&#8217;s literally 5 minutes to set up a new build.  yes, Hudson is Java, building our .NET app, but it&#8217;s so easy to create a new build.</p>
<p>All of our other mainline trunk builds and deployments are still CCNET for historical reasons.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Niall Connaughton</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-383</link>
		<dc:creator>Niall Connaughton</dc:creator>
		<pubDate>Thu, 23 Jul 2009 10:43:48 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-383</guid>
		<description>Interesting articles, I&#039;ll be reading the rest of the series as it comes out.

I find this way of working to be pretty intuitive - ie: dev teams I&#039;ve worked with in the past have just ended up working this way, there was no formal education process required.

What I find disturbing and frustrating is that it is such a manual process, and that it requires such long articles to explain to people that have not found it the obvious or intuitive way to work with source control.

Why do we need such lengthy articles to try to explain to us how to use a tool properly? I think the problem here is that modern source control is still just a glorified (and only slightly glorified) text diffing engine not much better than it was 20 years ago.

If this is the clear and obvious and most productive way of using source control, why doesn&#039;t source control help more? Source control tries to remain agnostic of the other parts of development - managing tasks, organising iterations, releases etc. This is why we&#039;re stuck doing stupid merges and trying to keep things up to date on a manual, text based level.

I haven&#039;t used Git, but it sounds interesting. I also haven&#039;t used TFS, I&#039;ve heard plenty of complaints about it, but it&#039;s the only source control package I&#039;ve heard of that attempts to bring source control to the rest of the development party.

Until we have source control that actually has an understanding of the content it&#039;s managing and can use that understanding to guide the user, we&#039;ll be stuck doing this manual stuff and writing lengthy articles to help people find ways of using the tools that works better.

If you&#039;ve heard of Rico Mariani&#039;s &quot;Pit of Success&quot; (see http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx),I think current source control is a very long way away from this.</description>
		<content:encoded><![CDATA[<p>Interesting articles, I&#8217;ll be reading the rest of the series as it comes out.</p>
<p>I find this way of working to be pretty intuitive &#8211; ie: dev teams I&#8217;ve worked with in the past have just ended up working this way, there was no formal education process required.</p>
<p>What I find disturbing and frustrating is that it is such a manual process, and that it requires such long articles to explain to people that have not found it the obvious or intuitive way to work with source control.</p>
<p>Why do we need such lengthy articles to try to explain to us how to use a tool properly? I think the problem here is that modern source control is still just a glorified (and only slightly glorified) text diffing engine not much better than it was 20 years ago.</p>
<p>If this is the clear and obvious and most productive way of using source control, why doesn&#8217;t source control help more? Source control tries to remain agnostic of the other parts of development &#8211; managing tasks, organising iterations, releases etc. This is why we&#8217;re stuck doing stupid merges and trying to keep things up to date on a manual, text based level.</p>
<p>I haven&#8217;t used Git, but it sounds interesting. I also haven&#8217;t used TFS, I&#8217;ve heard plenty of complaints about it, but it&#8217;s the only source control package I&#8217;ve heard of that attempts to bring source control to the rest of the development party.</p>
<p>Until we have source control that actually has an understanding of the content it&#8217;s managing and can use that understanding to guide the user, we&#8217;ll be stuck doing this manual stuff and writing lengthy articles to help people find ways of using the tools that works better.</p>
<p>If you&#8217;ve heard of Rico Mariani&#8217;s &#8220;Pit of Success&#8221; (see <a href="http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx" rel="nofollow">http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx</a>),I think current source control is a very long way away from this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Damon</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-382</link>
		<dc:creator>Damon</dc:creator>
		<pubDate>Thu, 23 Jul 2009 08:47:28 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-382</guid>
		<description>Derick

This is a great series. One thing I am interested in - have you tried never synchronizing from the source? If you keep your features small I suspect that this may be waste. If you have tried it, what problems did you find that led you to decide to do regular synchs?

Also, as Jim asked, how are you handling CI for each branch?</description>
		<content:encoded><![CDATA[<p>Derick</p>
<p>This is a great series. One thing I am interested in &#8211; have you tried never synchronizing from the source? If you keep your features small I suspect that this may be waste. If you have tried it, what problems did you find that led you to decide to do regular synchs?</p>
<p>Also, as Jim asked, how are you handling CI for each branch?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Martin</title>
		<link>http://lostechies.com/derickbailey/2009/07/21/branch-per-feature-source-control-part-2-how-theory/#comment-381</link>
		<dc:creator>Jim Martin</dc:creator>
		<pubDate>Wed, 22 Jul 2009 21:39:29 +0000</pubDate>
		<guid isPermaLink="false">/blogs/derickbailey/archive/2009/07/21/branch-per-feature-source-control-part-2-how-theory.aspx#comment-381</guid>
		<description>Derick,
How are you guys handling CI with each branch.  Do you have to manually set up a new CI each time you branch?</description>
		<content:encoded><![CDATA[<p>Derick,<br />
How are you guys handling CI with each branch.  Do you have to manually set up a new CI each time you branch?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
