<?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>Peter Williams &#187; subversion</title>
	<atom:link href="http://barelyenough.org/blog/tag/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://barelyenough.org</link>
	<description>… and there is much to be learned</description>
	<lastBuildDate>Mon, 19 Jul 2010 14:57:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>I &#9829; DVCS</title>
		<link>http://barelyenough.org/blog/2008/01/your-next-version-control-system/</link>
		<comments>http://barelyenough.org/blog/2008/01/your-next-version-control-system/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 05:53:53 +0000</pubDate>
		<dc:creator>Peter Williams</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://pezra.barelyenough.org/blog/2008/01/your-next-version-control-system/</guid>
		<description><![CDATA[ This week I worked on a project that uses Subversion and,
man, what a difference a year makes.  Back then I dreamed of being
able use Subversion instead of Perforce.  Now using svn
feels a bit like walking around waste deep in water.

I have been using Git almost exclusively for the last couple of
months.  I [...] ]]></description>
			<content:encoded><![CDATA[<p>This week I worked on a project that uses <a href="http://subversion.tigris.org/">Subversion</a> and,
man, what a difference a year makes.  <a href="http://pezra.barelyenough.org/blog/2006/08/megalomania-in-revision-control-systems/">Back then I dreamed of being
able use Subversion instead of Perforce</a>.  Now using svn
feels a bit like walking around waste deep in water.</p>

<p>I have been using <a href="http://git.or.cz/">Git</a> almost exclusively for the last couple of
months.  I am now firmly convinced that distributed version control
systems, such as Git and <a href="http://www.selenic.com/mercurial/wiki/">Mercurial</a>, are the way of the future.
The basic model of <a href="http://en.wikipedia.org/wiki/Distributed_revision_control">dVCSs</a> matches with real world software
development much more cleanly that the model imposed by most (if not
all) centralized <a href="http://en.wikipedia.org/wiki/Revision_control">VCSs</a>.</p>

<p>Consider the scenario I ran into, I checked out an svn project and
made my changes, then I svn up-ed and found one of the files I had
edit had been changed in a way that resulted in a merge conflict, and
a fairly complicated one at that.  I manually resolved the conflict,
merging the files by hand, and the commit the merged file, but what if
I had gotten it wrong?  My version of the file was never stored.
Which means that after doing the <code>svn resolved</code> the merge cannot ever
undone or fixed.</p>

<p><code>svn up</code> is a branch merge which throws away the entire history of the
target branch.  Working directories are branches whether the VCS
acknowledges it or not.  Not acknowledging it simply results in
branches in which the history is not tracked.  A branch that does not
track its history sounds silly.  Because it is.  None the less, that
is the model that is forced by most VCSs.</p>

<p>Distributed VCSs, on the other hand, treat your working directory as
the branch it really is.  And that makes all the difference in the
world.</p>
]]></content:encoded>
			<wfw:commentRss>http://barelyenough.org/blog/2008/01/your-next-version-control-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
