<?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>Differential Progression &#187; subversion</title>
	<atom:link href="http://alex.kavanagh.name/tag/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://alex.kavanagh.name</link>
	<description>Random thoughts, differential progress ...</description>
	<lastBuildDate>Mon, 06 Jun 2011 15:39:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Version Control: developing on branches rather than master/trunk</title>
		<link>http://alex.kavanagh.name/2010/04/version-control-dev-on-branches/</link>
		<comments>http://alex.kavanagh.name/2010/04/version-control-dev-on-branches/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 20:05:27 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://alex.kavanagh.name/?p=95</guid>
		<description><![CDATA[I&#8217;ve changed my mind.  It now seems that it is much more sensible to develop on branches rather than on master or trunk.  What am I on about? Well software source control or version control systems.  I tend to use &#8230; <a href="http://alex.kavanagh.name/2010/04/version-control-dev-on-branches/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve changed my mind.  It now seems that it is much more sensible to develop on branches rather than on master or trunk.  What am I on about?</p>
<p>Well software source control or version control systems.  I tend to use two: subversion and git.  Actually, I tend to use git whenever I can including when I have to use subversion. git svn is, in US terms, <em>awesum</em>.  One debate I have had on and off is whether to:</p>
<ul>
<li>Do development on trunk and put releases in branches &#8212; OR</li>
<li>Do development on branches, merge to trunk, and tag releases (or put them in their own branches).</li>
</ul>
<p>I&#8217;ve previously done the former, but I&#8217;m rapidly shifting to the latter.  My rather simple reasoning is that I want trunk/master to be, to all intents and purposes, a working copy of the latest software.  i.e. the software that is in trunk/master passes its tests, builds and basically does what it says it should on the tin.  The developing software is done on a branch and only merged back to trunk/master when it passes its tests.  Thus the process is:</p>
<ol>
<li>Branch</li>
<li>Develop &amp; test</li>
<li>Merge <em>from </em>trunk/master <em>to</em> the branch (i.e. pull any updates)</li>
<li>Test, test, test</li>
<li>Review code with buddy, senior dev, etc. (depending on your set-up)</li>
<li>Merge back into trunk as a finished feature.</li>
</ol>
<p>Even better, only work on code that is actually described in a ticket, bug, or on something like <a title="Pivotal s/w agile project management system" href="http://www.pivotaltracker.com/" target="_blank">pivotal</a>.  That way you stay focussed and only spend time on developing features/fixing bugs that the &#8216;customer&#8217; actually wants.</p>
<p>The only question then is what you do with releases?  My initial guess is to tag them as a release on trunk/master.   Then if you get a bug and have to maintain the old release then to branch at that point and maintain the release as its own &#8216;master&#8217; release branch.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Falex.kavanagh.name%2F2010%2F04%2Fversion-control-dev-on-branches%2F&amp;title=Version%20Control%3A%20developing%20on%20branches%20rather%20than%20master%2Ftrunk" id="wpa2a_2"><img src="http://alex.kavanagh.name/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://alex.kavanagh.name/2010/04/version-control-dev-on-branches/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

