<?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: Mercurial and Darcs</title>
	<atom:link href="http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/feed/" rel="self" type="application/rss+xml" />
	<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/</link>
	<description>Counterpoint by Hans Fugal</description>
	<lastBuildDate>Tue, 16 Mar 2010 15:07:10 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Scott Robertson</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1644</link>
		<dc:creator>Scott Robertson</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1644</guid>
		<description>&lt;p&gt;I&#039;m not sure it&#039;s too fair to grip about hg not catching semantic similarity, but you can just change your habit to an order like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;tar xzf foo-1.0.tar.gz
cd foo-1.0
hg init
hg ci -Am &#039;initial&#039;
cd ..
hg clone foo-1.0 foo-1.0.2
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;and get the same result.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure it&#8217;s too fair to grip about hg not catching semantic similarity, but you can just change your habit to an order like this:</p>
<pre><code>tar xzf foo-1.0.tar.gz
cd foo-1.0
hg init
hg ci -Am 'initial'
cd ..
hg clone foo-1.0 foo-1.0.2
</code></pre>
<p>and get the same result.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Monkey Boy</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1645</link>
		<dc:creator>Monkey Boy</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1645</guid>
		<description>&lt;p&gt;I don&#039;t think git is really complicated.  Maybe people look for complicated theories that just aren&#039;t there, and feel that they&#039;ve missed something.  The below is in the manual, maybe people just don&#039;t believe it.&lt;/p&gt;

&lt;p&gt;First and foremost, git does not store or work in terms of patches or diffs. It can certainly output them, but it&#039;s not the way it works internally .  There are objects.  Objects are a bit like files, only immutable (See also the plan 9 &quot;venti&quot; data store...). They have a &quot;name&quot;, their hash code. Some objects are &quot;commits&quot;, these describe a bunch of objects i.e. a coherent state of the whole tree.   The commits are arranged into a coherent timeline as each commit (except the initial commit) has a parent  Most objects, however, are just the content of files.  There are a few details about tags and branches and merging, but they&#039;re basically just chains of commits.&lt;/p&gt;

&lt;p&gt;That&#039;s pretty much it.  Everything else is layered on top.  Git doesn&#039;t give a crap about neat patch theory or microoptimisation: it just relies on the filesystem underneath being a very high-performance unixoid file system (that&#039;s why git particularly sucks on windows and works well on linux).&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think git is really complicated.  Maybe people look for complicated theories that just aren&#8217;t there, and feel that they&#8217;ve missed something.  The below is in the manual, maybe people just don&#8217;t believe it.</p>
<p>First and foremost, git does not store or work in terms of patches or diffs. It can certainly output them, but it&#8217;s not the way it works internally .  There are objects.  Objects are a bit like files, only immutable (See also the plan 9 &#8220;venti&#8221; data store&#8230;). They have a &#8220;name&#8221;, their hash code. Some objects are &#8220;commits&#8221;, these describe a bunch of objects i.e. a coherent state of the whole tree.   The commits are arranged into a coherent timeline as each commit (except the initial commit) has a parent  Most objects, however, are just the content of files.  There are a few details about tags and branches and merging, but they&#8217;re basically just chains of commits.</p>
<p>That&#8217;s pretty much it.  Everything else is layered on top.  Git doesn&#8217;t give a crap about neat patch theory or microoptimisation: it just relies on the filesystem underneath being a very high-performance unixoid file system (that&#8217;s why git particularly sucks on windows and works well on linux).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1646</link>
		<dc:creator>Hans</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1646</guid>
		<description>&lt;p&gt;It&#039;s not the theory of git that I&#039;m claiming is complicated. It&#039;s the UI.&lt;/p&gt;

&lt;p&gt;Actually, although the theory behind git is straightforward and not too hard to understand, its mapping to real-world use (outside of kernel development) *is* nontrivial and can really hang you up if you don&#039;t think like Linus. If you&#039;re not hardwired for filesystem development, mapping git to your internal notions of changes is quite unnatural.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>It&#8217;s not the theory of git that I&#8217;m claiming is complicated. It&#8217;s the UI.</p>
<p>Actually, although the theory behind git is straightforward and not too hard to understand, its mapping to real-world use (outside of kernel development) *is* nontrivial and can really hang you up if you don&#8217;t think like Linus. If you&#8217;re not hardwired for filesystem development, mapping git to your internal notions of changes is quite unnatural.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1647</link>
		<dc:creator>David</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1647</guid>
		<description>&lt;p&gt;If you want the power of darcs&#039; cool hunk recording, you might want to check out commit-patch: &lt;a href=&quot;http://porkrind.org/commit-patch/&quot; rel=&quot;nofollow&quot;&gt;http://porkrind.org/commit-patch/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It lets you check in patches (not whole files) to darcs, mercurial, and cvs. I find it very very useful.&lt;/p&gt;

&lt;p&gt;-David&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>If you want the power of darcs&#8217; cool hunk recording, you might want to check out commit-patch: <a href="http://porkrind.org/commit-patch/" rel="nofollow">http://porkrind.org/commit-patch/</a></p>
<p>It lets you check in patches (not whole files) to darcs, mercurial, and cvs. I find it very very useful.</p>
<p>-David</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jamie</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1648</link>
		<dc:creator>Jamie</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1648</guid>
		<description>&lt;p&gt;I can&#039;t claim I have much trouble setting default push/pull locations, and if you hg clone from a remote repository it sets it up automatically to be there for you.&lt;/p&gt;

&lt;p&gt;In .hg/hgrc,&lt;/p&gt;

&lt;pre&gt;[paths]
default=ssh://host/path&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>I can&#8217;t claim I have much trouble setting default push/pull locations, and if you hg clone from a remote repository it sets it up automatically to be there for you.</p>
<p>In .hg/hgrc,</p>
<pre>[paths]
default=ssh://host/path</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Monkey Boy</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1649</link>
		<dc:creator>Monkey Boy</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1649</guid>
		<description>&lt;p&gt;&quot;mapping git to your internal notions of changes is quite unnatural&quot;&lt;/p&gt;

&lt;p&gt;But are they just learned notions?  I don&#039;t find any of rcs, cvs, svn and darcs more natural than git, any more than windows is more natural than linux (in fact, having learnt linux first, I prefer it). I wouldn&#039;t say I&#039;m &quot;hardwired for filesystem development&quot;.&lt;/p&gt;

&lt;p&gt;&quot;its mapping to real-world use (outside of kernel development) *is* nontrivial&quot;&lt;/p&gt;

&lt;p&gt;I don&#039;t believe that either. Git is used for a whole bunch of other large projects (mesa and freedesktop.org stuff for starters, but also end-user apps and things like website management
(&lt;a href=&quot;http://jointheconversation.org/railsgit&quot; rel=&quot;nofollow&quot;&gt;http://jointheconversation.org/railsgit&lt;/a&gt;)), &lt;/p&gt;

&lt;p&gt;Do you just mean to &quot;mapping to use like some other RCS instead of git&quot;? But it IS different to other RCSes, I don&#039;t dispute that. That said, there is a darcs interface for git:
&lt;a href=&quot;http://wiki.darcs.net/DarcsWiki/DarcsGit&quot; rel=&quot;nofollow&quot;&gt;http://wiki.darcs.net/DarcsWiki/DarcsGit&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;so you get darcs&#039; interface and git&#039;s engine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;quilt-like functionality for git is provided by stgit. Like cogito, I guess it might get effectively superseded by core git at some stage, but anyway:
&lt;a href=&quot;http://procode.org/stgit/&quot; rel=&quot;nofollow&quot;&gt;http://procode.org/stgit/&lt;/a&gt;&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>&#8220;mapping git to your internal notions of changes is quite unnatural&#8221;</p>
<p>But are they just learned notions?  I don&#8217;t find any of rcs, cvs, svn and darcs more natural than git, any more than windows is more natural than linux (in fact, having learnt linux first, I prefer it). I wouldn&#8217;t say I&#8217;m &#8220;hardwired for filesystem development&#8221;.</p>
<p>&#8220;its mapping to real-world use (outside of kernel development) *is* nontrivial&#8221;</p>
<p>I don&#8217;t believe that either. Git is used for a whole bunch of other large projects (mesa and freedesktop.org stuff for starters, but also end-user apps and things like website management<br />
(<a href="http://jointheconversation.org/railsgit" rel="nofollow">http://jointheconversation.org/railsgit</a>)), </p>
<p>Do you just mean to &#8220;mapping to use like some other RCS instead of git&#8221;? But it IS different to other RCSes, I don&#8217;t dispute that. That said, there is a darcs interface for git:<br />
<a href="http://wiki.darcs.net/DarcsWiki/DarcsGit" rel="nofollow">http://wiki.darcs.net/DarcsWiki/DarcsGit</a></p>
<ul>
<li>so you get darcs&#8217; interface and git&#8217;s engine.</li>
</ul>
<p>quilt-like functionality for git is provided by stgit. Like cogito, I guess it might get effectively superseded by core git at some stage, but anyway:<br />
<a href="http://procode.org/stgit/" rel="nofollow">http://procode.org/stgit/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Garry</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1650</link>
		<dc:creator>Garry</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1650</guid>
		<description>&lt;p&gt;In 2 jobs I&#039;ve had, I&#039;ve taught fairly non-die-hard-technical people (read: HTML/CSS/Javascript guys / designers) to use Git.  And I did it fairly easily.  No one told them it was hard.  As a result, they took it for granted and just used it.  The myth that Git is hard these days is simply a myth.&lt;/p&gt;

&lt;p&gt;When I hear relatively technical people have trouble with Git, yet my CSS guy doesn&#039;t have any problem committing his changes back to the repo, I wonder if people are over thinking it.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>In 2 jobs I&#8217;ve had, I&#8217;ve taught fairly non-die-hard-technical people (read: HTML/CSS/Javascript guys / designers) to use Git.  And I did it fairly easily.  No one told them it was hard.  As a result, they took it for granted and just used it.  The myth that Git is hard these days is simply a myth.</p>
<p>When I hear relatively technical people have trouble with Git, yet my CSS guy doesn&#8217;t have any problem committing his changes back to the repo, I wonder if people are over thinking it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Larry Hastings</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1651</link>
		<dc:creator>Larry Hastings</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1651</guid>
		<description>&lt;p&gt;I&#039;m guessing Darcs uses _darcs instead of .darcs because of VMS.  Last year, Monotone changed the names of all its sekrit information, and it was going to use .mtn until a VMS user complained that &quot;.&quot; isn&#039;t a legal character in a VMS filename.  (Why they couldn&#039;t just use a different directory name on VMS, I don&#039;t know.)&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;m guessing Darcs uses _darcs instead of .darcs because of VMS.  Last year, Monotone changed the names of all its sekrit information, and it was going to use .mtn until a VMS user complained that &#8220;.&#8221; isn&#8217;t a legal character in a VMS filename.  (Why they couldn&#8217;t just use a different directory name on VMS, I don&#8217;t know.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1652</link>
		<dc:creator>Hans</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1652</guid>
		<description>&lt;p&gt;Hi Garry,&lt;/p&gt;

&lt;p&gt;The basics of using git unimaginatively are indeed just as easy as CVS or any other RCS. It didn&#039;t used to be so, but it is so now. Using git isn&#039;t hard. Understanding it can be mildly difficult. Bending it to your will (as technical folk are wont to do) requires understanding.&lt;/p&gt;

&lt;p&gt;I&#039;m not saying git is rocket science. I&#039;m saying it&#039;s more complicated than hg, with marginal if any benefit.&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Hi Garry,</p>
<p>The basics of using git unimaginatively are indeed just as easy as CVS or any other RCS. It didn&#8217;t used to be so, but it is so now. Using git isn&#8217;t hard. Understanding it can be mildly difficult. Bending it to your will (as technical folk are wont to do) requires understanding.</p>
<p>I&#8217;m not saying git is rocket science. I&#8217;m saying it&#8217;s more complicated than hg, with marginal if any benefit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gebi</title>
		<link>http://hans.fugal.net/blog/2007/11/16/mercurial-and-darcs/comment-page-1/#comment-1653</link>
		<dc:creator>gebi</dc:creator>
		<pubDate>Wed, 31 Dec 1969 17:00:00 +0000</pubDate>
		<guid isPermaLink="false">urn:uuid:de18e9f4-1a4a-4728-b71b-f8a31bef43f4#comment-1653</guid>
		<description>&lt;p&gt;i miss real branch support in mercurial with all the neat refspec formats of git&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>i miss real branch support in mercurial with all the neat refspec formats of git</p>
]]></content:encoded>
	</item>
</channel>
</rss>
