<?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: darcs is becoming my favorite VCS</title>
	<atom:link href="http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/feed" rel="self" type="application/rss+xml" />
	<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs</link>
	<description>The personal weblog of Peter Hosey.</description>
	<lastBuildDate>Tue, 17 Jan 2012 18:19:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: Mark Stosberg</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-135064</link>
		<dc:creator>Mark Stosberg</dc:creator>
		<pubDate>Fri, 02 Nov 2007 02:22:29 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-135064</guid>
		<description>David Glasser: 

Regarding how to diff a specific patch with the same name: Darcs handles this, and I don&#039;t mind that it encourages you to use unique patch names!

You can use &quot;darcs changes --xml&quot; (and other commands that support XML output) to see the unique hash that goes with each patch. Then you can do: 

darcs pull --match &#039;hash xu3234amy&#039;

... using whatever hash you found. 

I&#039;ve been using darcs on a four person team with a large project for a while (a couple years?) and it works great.  I&#039;ve used CVS, SVN, and SVK and definitely prefer darcs over them all for features and ease of use.</description>
		<content:encoded><![CDATA[<p>David Glasser: </p>
<p>Regarding how to diff a specific patch with the same name: Darcs handles this, and I don&#8217;t mind that it encourages you to use unique patch names!</p>
<p>You can use &#8220;darcs changes &#8211;xml&#8221; (and other commands that support XML output) to see the unique hash that goes with each patch. Then you can do: </p>
<p>darcs pull &#8211;match &#8216;hash xu3234amy&#8217;</p>
<p>&#8230; using whatever hash you found. </p>
<p>I&#8217;ve been using darcs on a four person team with a large project for a while (a couple years?) and it works great.  I&#8217;ve used CVS, SVN, and SVK and definitely prefer darcs over them all for features and ease of use.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Kow</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-134949</link>
		<dc:creator>Eric Kow</dc:creator>
		<pubDate>Thu, 01 Nov 2007 12:35:49 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-134949</guid>
		<description>Hi all.  We&#039;ve very recently put together a &lt;a href=&quot;http://wiki.darcs.net/index.html/ConflictsFAQ&quot; rel=&quot;nofollow&quot;&gt;Conflicts FAQ&lt;/a&gt; on the darcs wiki.  It contains some tips for staying out of exponential-time conflicts trouble and maybe even recovering from it.  Furthermore, it is where you can find the latest darcs-2.0 news (we&#039;re thinking 2008-02 for alpha testing and second quarter that year for release).

Please shout if there are any errors in the FAQ, or if you think there are ways it could be more helpful.</description>
		<content:encoded><![CDATA[<p>Hi all.  We&#8217;ve very recently put together a <a href="http://wiki.darcs.net/index.html/ConflictsFAQ" rel="nofollow">Conflicts FAQ</a> on the darcs wiki.  It contains some tips for staying out of exponential-time conflicts trouble and maybe even recovering from it.  Furthermore, it is where you can find the latest darcs-2.0 news (we&#8217;re thinking 2008-02 for alpha testing and second quarter that year for release).</p>
<p>Please shout if there are any errors in the FAQ, or if you think there are ways it could be more helpful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dave glasser</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-133201</link>
		<dc:creator>dave glasser</dc:creator>
		<pubDate>Sat, 27 Oct 2007 00:24:20 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-133201</guid>
		<description>Peter: Yeah, I had something like this with something incredibly trivial.  Cloned a small repository (XMonad), and made and committed local changes to one file (Config.hs), once.  That was enough to trigger conflict misery on a &quot;darcs pull&quot;.  I do hope that darcs fixes this: it&#039;s a promising concept developed by smart people, but until they make it so that normal use doesn&#039;t trigger this bug, I can&#039;t imagine using it on any project with multiple users.  (Mercurial handles the above situation marvelously, as does SVK, and Subversion branches (especially with upcoming merge-tracking features) is OK but with the obvious nit that the branches are going to be server-side.)</description>
		<content:encoded><![CDATA[<p>Peter: Yeah, I had something like this with something incredibly trivial.  Cloned a small repository (XMonad), and made and committed local changes to one file (Config.hs), once.  That was enough to trigger conflict misery on a &#8220;darcs pull&#8221;.  I do hope that darcs fixes this: it&#8217;s a promising concept developed by smart people, but until they make it so that normal use doesn&#8217;t trigger this bug, I can&#8217;t imagine using it on any project with multiple users.  (Mercurial handles the above situation marvelously, as does SVK, and Subversion branches (especially with upcoming merge-tracking features) is OK but with the obvious nit that the branches are going to be server-side.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-133113</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Fri, 26 Oct 2007 19:13:20 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-133113</guid>
		<description>Colin: Tasty.</description>
		<content:encoded><![CDATA[<p>Colin: Tasty.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Barrett</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-133097</link>
		<dc:creator>Colin Barrett</dc:creator>
		<pubDate>Fri, 26 Oct 2007 18:24:41 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-133097</guid>
		<description>I should also mention the &lt;a href=&quot;http://www.selenic.com/mercurial/wiki/index.cgi/RecordExtension&quot; rel=&quot;nofollow&quot;&gt;record extension&lt;/a&gt; (also built-in -- putting extra features like this into built in extensions you toggle on with a config file change is one of the nice parts about Mercurial). The record extension gives you a &lt;code&gt;darcs record&lt;/code&gt;-like command to select which hunk of your incoming changes to actually commit.</description>
		<content:encoded><![CDATA[<p>I should also mention the <a href="http://www.selenic.com/mercurial/wiki/index.cgi/RecordExtension" rel="nofollow">record extension</a> (also built-in &#8212; putting extra features like this into built in extensions you toggle on with a config file change is one of the nice parts about Mercurial). The record extension gives you a <code>darcs record</code>-like command to select which hunk of your incoming changes to actually commit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Barrett</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-133093</link>
		<dc:creator>Colin Barrett</dc:creator>
		<pubDate>Fri, 26 Oct 2007 17:52:21 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-133093</guid>
		<description>I already pointed you at this on IM, but for posterity (and your readers), give &lt;a href=&quot;http://www.selenic.com/mercurial/wiki/index.cgi/Mercurial&quot; rel=&quot;nofollow&quot;&gt;Mercurial&lt;/a&gt; and the (built in) &lt;a href=&quot;http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension&quot; rel=&quot;nofollow&quot;&gt;mq&lt;/a&gt; extension a try. I&#039;m not an mq user myself, but a lot of people like it and Mercurial itself is great. Simple &amp; easy to grok model, written in Python (so it&#039;s actually hackable), and it scales up quite nicely.</description>
		<content:encoded><![CDATA[<p>I already pointed you at this on IM, but for posterity (and your readers), give <a href="http://www.selenic.com/mercurial/wiki/index.cgi/Mercurial" rel="nofollow">Mercurial</a> and the (built in) <a href="http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension" rel="nofollow">mq</a> extension a try. I&#8217;m not an mq user myself, but a lot of people like it and Mercurial itself is great. Simple &amp; easy to grok model, written in Python (so it&#8217;s actually hackable), and it scales up quite nicely.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-133087</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Fri, 26 Oct 2007 17:44:49 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-133087</guid>
		<description>&lt;p&gt;dave glasser: Those who want to know more about the exponential-time-pull problem can read about it on the &lt;a href=&quot;http://wiki.darcs.net/DarcsWiki/ConflictMisery&quot; rel=&quot;nofollow&quot;&gt;ConflictMisery&lt;/a&gt; page on the darcs wiki.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>dave glasser: Those who want to know more about the exponential-time-pull problem can read about it on the <a href="http://wiki.darcs.net/DarcsWiki/ConflictMisery" rel="nofollow">ConflictMisery</a> page on the darcs wiki.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dave glasser</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-133082</link>
		<dc:creator>dave glasser</dc:creator>
		<pubDate>Fri, 26 Oct 2007 17:03:04 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-133082</guid>
		<description>It&#039;s a shame that darcs combines some great usability features like this one and a solid conceptual basis with some other serious UI problems and a general lack of performance predictability.  For example, unless something has changed, you can easily get your repository in a state where pulling from upstream takes double-exponential time (read: might as well be an infinite loop).  And as far as I can tell there&#039;s no easy way to refer to specific patches by anything other than log message regexp; if you have two patches with the same log message, I could never figure out how to simply say &quot;show me the diff for this particular one&quot;.

(Interactive commit is great though; SVK has it as well, and it is likely to come to Subversion in a future revision.)

(Bias: I am a Subversion developer (in fact, it&#039;s now my day job), lapsed SVK developer, occasional happy Mercurial user, and thoroughly disappointed darcs user.)</description>
		<content:encoded><![CDATA[<p>It&#8217;s a shame that darcs combines some great usability features like this one and a solid conceptual basis with some other serious UI problems and a general lack of performance predictability.  For example, unless something has changed, you can easily get your repository in a state where pulling from upstream takes double-exponential time (read: might as well be an infinite loop).  And as far as I can tell there&#8217;s no easy way to refer to specific patches by anything other than log message regexp; if you have two patches with the same log message, I could never figure out how to simply say &#8220;show me the diff for this particular one&#8221;.</p>
<p>(Interactive commit is great though; SVK has it as well, and it is likely to come to Subversion in a future revision.)</p>
<p>(Bias: I am a Subversion developer (in fact, it&#8217;s now my day job), lapsed SVK developer, occasional happy Mercurial user, and thoroughly disappointed darcs user.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Hosey</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-133025</link>
		<dc:creator>Peter Hosey</dc:creator>
		<pubDate>Fri, 26 Oct 2007 12:08:10 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-133025</guid>
		<description>ssp: Agreed. If your VCS of choice is the only way for other people to get your source, you fail, &lt;a href=&quot;http://youtube.com/watch?v=Wb7aDZeO_MQ&quot; rel=&quot;nofollow&quot;&gt;and the test will be terminated&lt;/a&gt;. A tarball or zip archive is mandatory (unless your app is closed-source, of course). darcs makes this easy: Use the darcs dist command.

I wouldn&#039;t exactly call darcs new nor hyped. The project has been around since at least 2004. It is a bit strange/exotic, though: It&#039;s written in Haskell, and it&#039;s the least Subversion-/CVS-like of all the DVCSs. (Bazaar, at the other extreme, is the most SVN-like.)

That said, I&#039;m growing to love it, precisely because of the features that it offers that other DVCSs don&#039;t (as far as I know). Besides the amend-record command, its second and third coolest features are:

&lt;ul&gt;
&lt;li&gt;darcs send, which emails the patch to the repository&#039;s maintainer. Yes, that&#039;s right: First-class support for submitting patches by email. The converse command is darcs apply, which applies patches from an email sent using darcs send.&lt;/li&gt;
&lt;li&gt;darcs dist, mentioned above.&lt;/li&gt;
&lt;/ul&gt;
</description>
		<content:encoded><![CDATA[<p>ssp: Agreed. If your VCS of choice is the only way for other people to get your source, you fail, <a href="http://youtube.com/watch?v=Wb7aDZeO_MQ" rel="nofollow">and the test will be terminated</a>. A tarball or zip archive is mandatory (unless your app is closed-source, of course). darcs makes this easy: Use the darcs dist command.</p>
<p>I wouldn&#8217;t exactly call darcs new nor hyped. The project has been around since at least 2004. It is a bit strange/exotic, though: It&#8217;s written in Haskell, and it&#8217;s the least Subversion-/CVS-like of all the DVCSs. (Bazaar, at the other extreme, is the most SVN-like.)</p>
<p>That said, I&#8217;m growing to love it, precisely because of the features that it offers that other DVCSs don&#8217;t (as far as I know). Besides the amend-record command, its second and third coolest features are:</p>
<ul>
<li>darcs send, which emails the patch to the repository&#8217;s maintainer. Yes, that&#8217;s right: First-class support for submitting patches by email. The converse command is darcs apply, which applies patches from an email sent using darcs send.</li>
<li>darcs dist, mentioned above.</li>
</ul>
]]></content:encoded>
	</item>
	<item>
		<title>By: ssp</title>
		<link>http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs/comment-page-1#comment-133023</link>
		<dc:creator>ssp</dc:creator>
		<pubDate>Fri, 26 Oct 2007 11:47:00 +0000</pubDate>
		<guid isPermaLink="false">http://boredzo.org/blog/archives/2007-10-26/darcs-is-becoming-my-favorite-vcs#comment-133023</guid>
		<description>The versioning system may be great for your purposes. But if you end up using it, please make sure that it still remains feasible for people who don&#039;t have it installed to play with your code.

I&#039;ve run into the situation where I found a project I was interested in a number of times but it was using some strange/new/hyped/stupid versioning system and offered that as the only way to access the files (plus some file-by-file HTML formatted version perhaps). This raised the level of inconvenience for actually accessing the source to locating, installing, (quite possibly kicking and screaming in the process) that software and learning enough to use it. All that just to download a few files. Which, of course I didn&#039;t do.

So if you want to use an exotic versioning system (or in fact any versioning system), please make sure there is also a convenient one-click link that downloads an archived version of the source. It seems very simple, but loads of sites just don&#039;t do that.

All that only if you are interested in actually publishing your work of course.</description>
		<content:encoded><![CDATA[<p>The versioning system may be great for your purposes. But if you end up using it, please make sure that it still remains feasible for people who don&#8217;t have it installed to play with your code.</p>
<p>I&#8217;ve run into the situation where I found a project I was interested in a number of times but it was using some strange/new/hyped/stupid versioning system and offered that as the only way to access the files (plus some file-by-file HTML formatted version perhaps). This raised the level of inconvenience for actually accessing the source to locating, installing, (quite possibly kicking and screaming in the process) that software and learning enough to use it. All that just to download a few files. Which, of course I didn&#8217;t do.</p>
<p>So if you want to use an exotic versioning system (or in fact any versioning system), please make sure there is also a convenient one-click link that downloads an archived version of the source. It seems very simple, but loads of sites just don&#8217;t do that.</p>
<p>All that only if you are interested in actually publishing your work of course.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.151 seconds -->

