<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>BlackBox : Tag subversion</title>
    <link>http://www.warneronstine.com/blog/articles/tag/subversion</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Where technology and art disappear</description>
    <item>
      <title>Git, Mercurial, or Bazaar?</title>
      <description>&lt;p&gt;The other big change I&amp;#8217;m considering is actually moving away from Subversion. I&amp;#8217;ve really enjoyed using it, but a &lt;a href="http://www.nabble.com/should-we-use-bazaar--td18132610.html"&gt;recent discussion&lt;/a&gt; on the Groovy Dev list about Distributed Version Control Systems (DVCS) has got me looking at alternatives and why it would be good. I asked my friend &lt;a href="http://weblog.masukomi.org"&gt;Kate&lt;/a&gt; if she had any blog posts on why switching to a dvcs is a good idea and she whipped one up &lt;a href="http://weblog.masukomi.org/2008/06/27/why-you-should-use-a-distributed-version-control-system"&gt;for me&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After reading through it I think I&amp;#8217;m sold, but now I&amp;#8217;m trying to figure out which one to try out first. &lt;a href="http://git.or.cz/"&gt;Git&lt;/a&gt; honestly looks like the clear winner here in a number of respects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Serious mindshare amongst the OSS projects&lt;/li&gt;
&lt;li&gt;Has a great community committed to pushing the project forward (as Kate &lt;a href="http://weblog.masukomi.org/2008/02/04/some-thoughts-about-git"&gt;suggests&lt;/a&gt; )&lt;/li&gt;
&lt;li&gt;Has some really good functionality (even if it is a bit obtuse to get to understand)&lt;/li&gt;
&lt;li&gt;Looks like the beginnings of some plugins
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://git.or.cz/gitwiki/EclipsePlugin"&gt;Eclipse&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it also has some (current) drawbacks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tools are really only available on Linux - Mac looks like its coming but could be a pain in the ass to build, forget Windows right now
&lt;ul&gt;
&lt;li&gt;No IDEA plugin yet (bummer) - but it does look like IDEA 8 will &lt;a href="http://www.jetbrains.net/confluence/display/IDEADEV/IDEA+8.0+Technology+Roadmap"&gt;support it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;No NetBeans plugin&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;It&amp;#8217;s a bit obtuse to learn - the commands are not necessarily the easiest to understand but they do have a &lt;a href="http://git.or.cz/course/svn.html"&gt;Subversion -&gt; Git&lt;/a&gt; guide online&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, I think I will try Git first, maybe. What about the other two - &lt;a href="http://bazaar-vcs.org/"&gt;Bazaar&lt;/a&gt; and &lt;a href="http://www.selenic.com/mercurial"&gt;Mercurial&lt;/a&gt;? Bazaar honestly looks like 3rd place contender right now, but it does have some interesting tools available to it. Let&amp;#8217;s look at Mercurial next.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There are some pre-built packages for OS X and Windows - nice&lt;/li&gt;
&lt;li&gt;Again, looks like the beginnings of some plugins
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.vectrace.com/mercurialeclipse/"&gt;Eclipse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/mercurialidea/"&gt;IDEA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wiki.netbeans.org/MercurialVersionControl"&gt;NetBeans&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some current drawbacks&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Doesn&amp;#8217;t seem to have the same mindshare as Git does (this is my perception not necessarily true)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now onto Bazaar.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Binaries available for multiple platforms - OS X, Windows, and Linux&lt;/li&gt;
&lt;li&gt;&lt;a href="https://launchpad.net/pqm"&gt;Patch Queue Manager&lt;/a&gt; - very interesting tool &lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.aaronbentley.com/bundlebuggy/"&gt;Bundle Buggy&lt;/a&gt; - another interesting tool&lt;/li&gt;
&lt;li&gt;There are again plugins available
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://bazaar-vcs.org/BzrEclipse"&gt;Eclipse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://launchpad.net/bzr4idea"&gt;IDEA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course after I started this I found this much more &lt;a href="http://www.infoq.com/articles/dvcs-guide"&gt;in-depth review&lt;/a&gt; of the different systems over at InfoQ. &lt;/p&gt;

&lt;p&gt;I think after reading a ton more on this (and the InfoQ article) that I&amp;#8217;m going to give Mercurial a short first and see how it goes. Kate makes two more points at the end of this blog post on &lt;a href="http://weblog.masukomi.org/2008/02/07/a-rebuttal-to-use-mercurial-you-git"&gt;Mercurial vs. Git&lt;/a&gt; (which itself was a response to another blog post) - If you need Windows support or documentation are important items then Mercurial may be a better choice. For me, while I don&amp;#8217;t need Windows support, it will be nice to understand what I&amp;#8217;m trying to do first.&lt;/p&gt;</description>
      <pubDate>Mon, 07 Jul 2008 08:20:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:5868c934-903c-46f4-be4d-406713e6c9c1</guid>
      <author>Warner Onstine</author>
      <link>http://www.warneronstine.com/blog/articles/2008/07/07/git-mercurial-or-bazaar</link>
      <category>programming</category>
      <category>scm</category>
      <category>subversion</category>
      <category>dvc</category>
      <category>git</category>
      <category>mercurial</category>
      <category>bazaar</category>
      <trackback:ping>http://www.warneronstine.com/blog/articles/trackback/322</trackback:ping>
    </item>
  </channel>
</rss>
