<?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>teideal glic deisbhéalach &#187; mercurial</title>
	<atom:link href="http://www.serpentine.com/blog/category/software/scm/mercurial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.serpentine.com/blog</link>
	<description>Bryan O&#039;Sullivan&#039;s blog</description>
	<lastBuildDate>Thu, 01 Dec 2011 16:53:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How to migrate from darcs to Mercurial or git</title>
		<link>http://www.serpentine.com/blog/2010/10/21/how-to-migrate-from-darcs-to-mercurial-or-git/</link>
		<comments>http://www.serpentine.com/blog/2010/10/21/how-to-migrate-from-darcs-to-mercurial-or-git/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 23:49:12 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.serpentine.com/blog/?p=749</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2010/10/21/how-to-migrate-from-darcs-to-mercurial-or-git/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Converting a Mercurial tree repeatedly with files removed</title>
		<link>http://www.serpentine.com/blog/2010/08/10/converting-a-mercurial-tree-repeatedly-with-files-removed/</link>
		<comments>http://www.serpentine.com/blog/2010/08/10/converting-a-mercurial-tree-repeatedly-with-files-removed/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 00:13:53 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>

		<guid isPermaLink="false">http://www.serpentine.com/blog/?p=645</guid>
		<description><![CDATA[Here's a useful little tip if you need to use hg convert to generate a stripped-down copy of a Mercurial repository. For instance, maybe we have a tree that someone committed a large file to by accident, or perhaps someone accidentally checked some closed source code into an open source tree. If such a commit [...]]]></description>
			<content:encoded><![CDATA[<p>Here's a useful little tip if you need to use <a href="http://mercurial.selenic.com/wiki/ConvertExtension"><tt>hg convert</tt></a> to generate a stripped-down copy of a <a href="http://mercurial.selenic.com/">Mercurial</a> repository. For instance, maybe we have a tree that someone committed a large file to by accident, or perhaps someone accidentally checked some closed source code into an open source tree. If such a commit makes it into a busy repository, it can be a while before anyone notices. Worse, we can't necessarily expect everyone who's downstream of that repository to immediately drop everything they're doing and find a way to switch over to the freshly-scrubbed tree you want to publish.</p>

<p>There's a fairly painless way around this. Firstly, we'll need to use the <a href="http://mercurial.selenic.com/wiki/ConvertExtension#A--filemap"><tt>filemap</tt></a> option to make <tt>hg convert</tt> strip out the files we want to lose from our new repository. Here's an idea of how that should work. To start off, we create a demo repository, named <tt>hg-100</tt>.</p>

<pre>
$ hg clone -r 100 http://www.selenic.com/repo/hg hg-100
$ ls -F hg-100
comparison.txt	hgweb.py     mercurial/  PKG-INFO  setup.py  tkmerge
hg		MANIFEST.in  notes.txt	 README    tests/
</pre>

<p>Next, we set up a filemap that eliminates all tests from the tree.</p>

<pre>
$ echo exclude tests > no-tests.map
$ hg convert --quiet --filemap no-tests.map hg-100 nukeme
$ hg --cwd nukeme update --quiet
$ ls -F nukeme
comparison.txt	hgweb.py     mercurial/  PKG-INFO  setup.py
hg		MANIFEST.in  notes.txt	 README    tkmerge
</pre>

<p>Now that we have run <tt>hg convert</tt>, it's changed the changeset ID of every commit that either contains a change to a file in <tt>tests</tt> or is a child of such a commit. Ouch, right? Haven't we now lost the ability to merge contaminated repositories with the scrubbed one?</p>

<p>Fortunately, no. We could always pull future changes into <tt>hg-100</tt>, then rerun <tt>hg convert</tt> with <i>the same</i> <tt>--filemap</tt> option, and successfully scrub later changes, which we could then share with our collaborators.</p>

<p>The only trouble with this is that it relies on a non-version-controlled file named <tt>.hg/shamap</tt> in our <tt>nukeme</tt> tree. That file contains the mapping from source changeset ID to target changeset ID. This is what <tt>hg convert</tt> uses to tell whether a changeset has been seen before, and if so, what its new ID is. So if we lose the <tt>nukeme</tt> tree, we can't run <tt>hg convert</tt> again, and we're stuck, right? Well, once again, not necessarily.</p>

<p>A final trick up our sleeves is to run every instance of <tt>hg convert</tt> with <tt>--config convert.hg.saverev=True</tt>. This is documented in the output of <tt>hg help</tt>, but sadly not on the wiki page. This saves each source changeset ID in a special field in the corresponding changeset in the target repo.</p>

<pre>
$ rm -rf nukeme
$ hg convert --quiet --filemap no-tests.map --config convert.hg.saverev=True \
    hg-100 nukeme
$ hg --cwd nukeme tip --debug | grep 'extra:'
extra:       branch=default
extra:       convert_revision=526722d24ee5b3b860d4060e008219e083488356
</pre>

<p>The <tt>convert_revision</tt> data gives us enough to create a new <tt>.hg/shamap</tt> file whenever we need to. First, we create a <a href="http://hgbook.red-bean.com/read/customizing-the-output-of-mercurial.html">style file</a> to extract the necessary data from Mercurial.</p>

<pre>
$ cat >> pants.map << EOF
changeset = '{extras}\n'
extra = '{key} {value} {node}\n'
EOF
</pre>

<p>Then, in any clone of our converted repo, it becomes simple to regenerate the <tt>.hg/shamap</tt> file:</p>

<pre>
$ hg log -r0: --style pants.map | awk '/convert_revision/{print $2,$3}' \
    > $(hg root)/.hg/shamap
</pre>

<p>And finally: remember, kids, if you like this kind of information, not only is my Mercurial book <a href="http://hgbook.red-bean.com/">free to read online</a>, but if you buy a paper or ebook copy, <i>all the royalties</i> go to the <a href="http://conservancy.softwarefreedom.org/">Software Freedom Convervancy</a>, whose work is so worthy of support you should buy five copies, not just one.</p>]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2010/08/10/converting-a-mercurial-tree-repeatedly-with-files-removed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mercurial book is now in production, and a little gift</title>
		<link>http://www.serpentine.com/blog/2009/05/15/mercurial-book-is-now-in-production-and-a-little-gift/</link>
		<comments>http://www.serpentine.com/blog/2009/05/15/mercurial-book-is-now-in-production-and-a-little-gift/#comments</comments>
		<pubDate>Fri, 15 May 2009 04:29:40 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>

		<guid isPermaLink="false">http://www.serpentine.com/blog/?p=362</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2009/05/15/mercurial-book-is-now-in-production-and-a-little-gift/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mercurial: The Definitive Guide</title>
		<link>http://www.serpentine.com/blog/2009/03/27/mercurial-the-definitive-guide/</link>
		<comments>http://www.serpentine.com/blog/2009/03/27/mercurial-the-definitive-guide/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 18:29:05 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>

		<guid isPermaLink="false">http://www.serpentine.com/blog/?p=343</guid>
		<description><![CDATA[If you&#8217;ve looked at the Mercurial book site in the past 24 hours, you&#8217;ll have noticed that both its look and the name of the book have changed. First, the cosmetic news. The change in appearance is due to my switching over to the system I used to publish Real World Haskell. I&#8217;ve always made [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve looked at the <a href="http://hgbook.red-bean.com/">Mercurial book</a> site in the past 24 hours, you&#8217;ll have noticed that both its look and the name of the book have changed.</p>

<p>First, the cosmetic news. The change in appearance is due to my switching over to the system I used to publish <a href="http://book.realworldhaskell.org/">Real World Haskell</a>. I&#8217;ve always made the <a href="http://bitbucket.org/bos/hgbook/">source code to the Mercurial book</a> available, but now it includes the source of the Django app and jQuery code that drives the comment system. So if you&#8217;re writing an online book, have at it!</p>

<p>The change in title occurs because O&#8217;Reilly Media is going to publish the book in a few months, once I&#8217;ve tidied it up (with, I hope, your help!). The content is still licensed under the <a href="http://opencontent.org/openpub/">OPL</a>, so you remain free to use and modify my work under remarkably liberal terms.</p>

<p>O&#8217;Reilly and I are donating my royalties on this book to the <a href="http://conservancy.softwarefreedom.org/">Software Freedom Conservancy</a>, so if you buy a hardcopy, you&#8217;ll be helping one of the finest causes in the software world.</p>

<p>This is a great time to get involved in the production and polishing of the book, and as I did with the Haskell book, I&#8217;ll give credit to everyone who provides their name. If you&#8217;re interested in helping out, be it by contributing content, corrections, typo fixes, or suggestions, you have two easy ways to do so:</p>
<ul>
<li>Clone a copy of the source tree and start sending patches</li>
<li>Use the comment system on the web site to point out errors and omissions, or to make suggestions</li>
<li>For bigger stuff, <a href="http://bitbucket.org/bos/hgbook/issues/">report an issue</a></li>
</ul>

<p>So please dive on in, and let&#8217;s make this book an even more outstanding resource for the Mercurial community!</p>]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2009/03/27/mercurial-the-definitive-guide/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>OSCON 2006: Come see me talk</title>
		<link>http://www.serpentine.com/blog/2006/07/24/oscon-2006-come-see-me-talk/</link>
		<comments>http://www.serpentine.com/blog/2006/07/24/oscon-2006-come-see-me-talk/#comments</comments>
		<pubDate>Mon, 24 Jul 2006 22:50:42 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://home.serpentine.com/blog/2006/07/24/oscon-2006-come-see-me-talk/</guid>
		<description><![CDATA[I&#8217;m giving a talk at OSCON in Portland this week; the title is &#8220;Painless maintenance of local changes to fast-moving software&#8221;. The content is about how managing and developing patches with Mercurial Queues will make you a happier person and straighten your teeth while you sleep, all for free. The talk is in room F150, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m giving a talk at OSCON in Portland this week; the title is &ldquo;Painless maintenance of local changes to fast-moving software&rdquo;.  The content is about how managing and developing patches with Mercurial Queues will make you a happier person and straighten your teeth while you sleep, all for free.</p>
<p>The talk is in room F150, on Wednesday, July 26, at 2:35pm.  It&#8217;ll be a lot of fun.</p>]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2006/07/24/oscon-2006-come-see-me-talk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Been a busy month</title>
		<link>http://www.serpentine.com/blog/2006/07/15/been-a-busy-month/</link>
		<comments>http://www.serpentine.com/blog/2006/07/15/been-a-busy-month/#comments</comments>
		<pubDate>Sun, 16 Jul 2006 00:31:21 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://home.serpentine.com/blog/2006/07/15/been-a-busy-month/</guid>
		<description><![CDATA[Couple my usual reluctance to post here with work on a new all-consuming project, and you have a recipe for potentially long periods of silence. Yesterday, I posted an announcement of the availability of the first chapter of the Mercurial manual to the mailing list. You can read the first chapter here (PDF only thus [...]]]></description>
			<content:encoded><![CDATA[<p>Couple my usual reluctance to post here with work on a new all-consuming project, and you have a recipe for potentially long periods of silence.</p>
<p>Yesterday, I posted an announcement of the availability of the first chapter of the Mercurial manual to the mailing list.  You can <a href="http://www.red-bean.com/~bos/hgbook.pdf">read the first chapter here</a> (PDF only thus far); it documents Mercurial Queues, which I&#8217;ve enthused about at length in front of several audiences recently.</p>
<p>I&#8217;m working on the manual <a href="http://hg.serpentine.com/mercurial/book">in the open</a>, and releasing it under the <a href="http://opencontent.org/openpub/">Open Publication License</a>.  It&#8217;s a lot of fun to finally be writing a publication-quality manual for a piece of software I like so much.</p>
<p>As the manual progresses, I&#8217;ll be making it available in both HTML and PDF formats, with integrated feedback links available.  More about that later, as time permits.</p>]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2006/07/15/been-a-busy-month/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The joint Mercurial / Bazaar-NG sprint: aftermath</title>
		<link>http://www.serpentine.com/blog/2006/06/12/the-joint-mercurial-bazaar-ng-sprint-aftermath/</link>
		<comments>http://www.serpentine.com/blog/2006/06/12/the-joint-mercurial-bazaar-ng-sprint-aftermath/#comments</comments>
		<pubDate>Tue, 13 Jun 2006 05:38:10 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://home.serpentine.com/blog/2006/06/12/the-joint-mercurial-bazaar-ng-sprint-aftermath/</guid>
		<description><![CDATA[The weekend in London, now almost a week past, was sufficiently intense that I didn&#8217;t have the energy to write it up as I went along, or indeed to write much of anything about it until now. Of course we didn&#8217;t come to any conclusions about one project subsuming the other, but we did gain [...]]]></description>
			<content:encoded><![CDATA[<p>The weekend in London, now almost a week past, was sufficiently intense that I didn&#8217;t have the energy to write it up as I went along, or indeed to write much of anything about it until now.</p>
<p>Of course we didn&#8217;t come to any conclusions about one project subsuming the other, but we did gain a better understanding of where our respective projects stand relative to each other.</p>
<p>The sprint lasted three days.  We spent much of the first day talking about how we got to where we are; how did people get interested in revision control, why and how they started contributing to their respective projects, and so on.  The second day involved more discussions of details, while thinking in terms of how we could do things that benefited each project individually while assisting both. A few prospects, for example, were a common format for exporting metadata to the likes of GUIs, and a common plugin framework.  The third day was much less structured; we showed off interesting bits of functionality, hacked a little, and talked about whatever topics were interesting at the time.</p>
<p>In terms of &ldquo;stuff we have that they don&#8217;t&rdquo;, the standouts on each side were performance and complete handling of renamed files and directories.  Mercurial has performance, and the Bazaar-NG team people want it; and Bazaar-NG handles merging edits across renames, while the Mercurial team wants it.</p>
<p>For me, it was very energising to meet so many people, all deeply interested in distributed revision control, all at once.  I&#8217;d already known Matt from his days living in San Francisco, but everyone else was new to me.  I was struck by how fortunate each project is to have a core of people who are whip-smart, thoughtful, and a lot of fun to spend time with.  The tone of our conversations was great; everyone was amicable and engaged, able to both talk well and listen carefully.</p>
<p>So we&#8217;ve converged on such similar user interfaces, we found it easy to talk to each other, and we found so many cases where we were tackling or ignoring the same problems in similar ways.  What will be our respective paths forward?  I don&#8217;t have a clear answer.  Some of the possibilities have non-technical constraints that may prove amenable to compromise; we&#8217;ll have to see.</p>
<p>Of course, it is ultimately not in low cunning, marketing, or funding that one project shall in the end dominate, but in <a href="http://video.google.com/videoplay?docid=2530762832911796637">mindless feats of strength</a> (that&#8217;s Mark Shuttleworth on the left, Matt Mackall on the right).</p>
<p>Thanks to everyone who took the time to attend and, through their willingness to talk and listen, made the weekend a memorable and worthwhile event.  In particular, I&#8217;d like to thank Mark Shuttleworth for sponsoring the event.</p>]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2006/06/12/the-joint-mercurial-bazaar-ng-sprint-aftermath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baypiggies talk, tomorrow, June 8</title>
		<link>http://www.serpentine.com/blog/2006/06/07/baypiggies-talk-tomorrow-june-8/</link>
		<comments>http://www.serpentine.com/blog/2006/06/07/baypiggies-talk-tomorrow-june-8/#comments</comments>
		<pubDate>Thu, 08 Jun 2006 05:45:46 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://home.serpentine.com/blog/2006/06/07/baypiggies-talk-tomorrow-june-8/</guid>
		<description><![CDATA[I&#8217;m giving a talk on Mercurial at Baypiggies, the San Francisco Bay Area Python user&#8217;s group, tomorrow evening at 7:30pm. If you&#8217;re a local Mercurial user and we haven&#8217;t met, please feel free to come along. If you don&#8217;t use Mercurial, you&#8217;re welcome to attend and see what it&#8217;s all about.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m giving a talk on Mercurial at <a href="http://www.baypiggies.net/">Baypiggies</a>, the San Francisco Bay Area Python user&#8217;s group, tomorrow evening at 7:30pm.</p>
<p>If you&#8217;re a local Mercurial user and we haven&#8217;t met, please feel free to come along.  If you don&#8217;t use Mercurial, you&#8217;re welcome to attend and see what it&#8217;s all about.</p>]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2006/06/07/baypiggies-talk-tomorrow-june-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joint Mercurial / Bazaar-NG sprint</title>
		<link>http://www.serpentine.com/blog/2006/06/01/joint-mercurial-bazaar-ng-sprint/</link>
		<comments>http://www.serpentine.com/blog/2006/06/01/joint-mercurial-bazaar-ng-sprint/#comments</comments>
		<pubDate>Fri, 02 Jun 2006 06:50:20 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://home.serpentine.com/blog/2006/06/01/joint-mercurial-bazaar-ng-sprint/</guid>
		<description><![CDATA[A few weeks ago, Mark Shuttleworth showed up on IRC, and invited several core developers from the Mercurial and Bazaar-NG to visit London, on Canonical, Ltd&#8217;s shilling. The purpose of the joint visit is to discuss possible points of collaboration between the two projects. I got to come along as gadfly-in-chief, or filler-of-the-bug-database, or some [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, <a href="http://www.markshuttleworth.com/">Mark Shuttleworth</a> showed up on IRC, and invited several core developers from the <a href="http://www.selenic.com/mercurial/">Mercurial</a> and <a href="http://bazaar-vcs.org/">Bazaar-NG</a> to visit London, on <a href="http://www.canonical.com/">Canonical, Ltd&#8217;s</a> shilling.  The purpose of the joint visit is to discuss possible points of collaboration between the two projects.</p>
<p>I got to come along as gadfly-in-chief, or filler-of-the-bug-database, or some such thing, but I am writing this entry from London, and the sprint will kick off tomorrow morning.</p>
<p>Each project is already actively snarfing code from the other.  For example, Alexander Schremmer&#8217;s lovely <a href="http://moin.pocoo.org:8080/hg-branchview-integration?cmd=branchview">branchview</a> work lets you view the branch and merge history of a Mercurial repository, graphically, from within a regular web browser.  It uses code from Bazarr-NG&#8217;s <a href="http://bazaar-vcs.org/bzrk">bzrk plugin</a> to do the abstract graph rendering.  On the other side, Goffredo Baroncelli has ported Mercurial&#8217;s built-in web server to <a href="http://bzr.phanatic.hu/browse/bazaar-hgweb">run on top of bzr</a>.</p>
<p>In terms of basic user interface (the stuff you need to learn in the first five minutes of use), the two projects are very similar. Indeed, many think-alike commands have identical names in each.  Even the underlying data structures are similar, as evinced by Robert Collins recently writing a <a href="http://permalink.gmane.org/gmane.comp.version-control.bazaar-ng.general/12716">Bazaar-NG plugin that can pull from Mercurial repositories</a>.</p>
<p>I&#8217;ll refrain from discussing the respective merits and drawbacks of each project, as I see them, for now.  That can wait for a bit.</p>
<p>Over the next few days, we&#8217;ll see where and how we can find useful ways to discuss the differences between our respective approaches, and whether we can map a way to work together.  It should be fun!</p>]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2006/06/01/joint-mercurial-bazaar-ng-sprint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mercurial: I am just going outside and may be some time</title>
		<link>http://www.serpentine.com/blog/2005/10/01/mercurial-i-am-just-going-outside-and-may-be-some-time/</link>
		<comments>http://www.serpentine.com/blog/2005/10/01/mercurial-i-am-just-going-outside-and-may-be-some-time/#comments</comments>
		<pubDate>Sat, 01 Oct 2005 14:38:24 +0000</pubDate>
		<dc:creator>Bryan O'Sullivan</dc:creator>
				<category><![CDATA[mercurial]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://home.serpentine.com/blog/2005/10/01/mercurial-i-am-just-going-outside-and-may-be-some-time/</guid>
		<description><![CDATA[Here follows the text of a message I posted to the Mercurial mailing list earlier today. As I mentioned the other day, I will not be contributing to Mercurial development for a while. Several people have asked me why. At my workplace, we use a commercial SCM tool called BitKeeper to manage a number of [...]]]></description>
			<content:encoded><![CDATA[<p>Here follows the text of a message I posted to the Mercurial mailing list earlier today.</p>
<p>As I mentioned the other day, I will not be contributing to Mercurial development for a while.  Several people have asked me why.</p>
<p>At my workplace, we use a commercial SCM tool called BitKeeper to manage a number of source trees.  Last week, Larry McVoy (the CEO of BitMover, which produces BitKeeper) contacted my company&#8217;s management.</p>
<p>Larry expressed concern that I might be moving BitKeeper technology into Mercurial.  In a phone conversation that followed, I told Larry that of course I hadn&#8217;t done so.</p>
<p>However, Larry conveyed his very legitimate worry that a fast, stable open source project such as Mercurial poses a threat to his business, and that he considered it &ldquo;unacceptable&rdquo; that an employee of a customer should work on a free project that he sees as competing.</p>
<p>To avoid any possible perception of conflict, I have volunteered to Larry that as long as I continue to use the commercial version of BitKeeper, I will not contribute to the development of Mercurial.</p>
<p>As such, Mercurial can stand entirely on its own merits in comparison to BitKeeper.  This, I am sure, is a situation that we would all prefer.</p>]]></content:encoded>
			<wfw:commentRss>http://www.serpentine.com/blog/2005/10/01/mercurial-i-am-just-going-outside-and-may-be-some-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

