<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Moving the Curve &#187; source control</title>
	<atom:link href="http://www.stevideter.com/category/source-control/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stevideter.com</link>
	<description>Technology, code, and thoughts by Stevi Deter</description>
	<lastBuildDate>Fri, 16 Apr 2010 17:01:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>When to branch your code</title>
		<link>http://www.stevideter.com/2008/04/23/when-to-branch-your-code/</link>
		<comments>http://www.stevideter.com/2008/04/23/when-to-branch-your-code/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 01:06:51 +0000</pubDate>
		<dc:creator>stevi</dc:creator>
				<category><![CDATA[coding life]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[branching]]></category>

		<guid isPermaLink="false">http://www.stevideter.com/2008/04/23/when-to-branch-your-code/</guid>
		<description><![CDATA[This article on Making Small Commits lead me to think about when to commit and when to branch a code base. Branching is the black art of version control, and anyone who has tried it at least once has probably had the nightmare that arises from having to merge code back in. It&#8217;s an art [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>This article on <a href="http://www.artima.com/forums/flat.jsp?forum=196&amp;thread=229344" title="Making Small Commits" target="_blank">Making Small Commits</a> lead me to think about when to commit and when to branch a code base.</p>
<p>Branching is the black art of version control, and anyone who has tried it at least once has probably had the nightmare that arises from having to merge code back in.</p>
<p>It&#8217;s an art worth learning, however. Sometimes you&#8217;re working on a feature, or a refactor, that&#8217;s significant enough that you can&#8217;t risk partial checkins.</p>
<p>Now, for context, I&#8217;m a big believer in frequent checkins. Beyond the advice in the linked article, I tend to check in almost any change. Add a method? Check it in. Add a single unit test? Check it in. Version Control is my brain and my undo. I&#8217;d rather revert a version or 10, but be confident, than realize I need to go back about halfway through my current rewrite.</p>
<p>Given I like, and in fact need, to check in often, I feel I probably need to use branching more often, as well. An recent example was work we started for a client. Right after integrating the first elements of the new features, the client changed the current request. Entirely. However we were stuck deep enough in a combination of new elements not yet finished and concurrent refactoring that it became easier to comment out large sections of code than refactor. If we&#8217;d just branched the new feature set, and continued maintenance on the trunk version, we would have saved ourselves frustration &#8211; and the risk that comes from half-finished features that probably won&#8217;t ever make it to the top of the backlog again!</p>
<p>What is your philosophy on branching your code base?</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.stevideter.com/2008/04/23/when-to-branch-your-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
