Comparing two revisions:

Revisions for Comparing Popular Version Control Systems

Mon, 2010-03-29 14:41 by adminTue, 2010-03-30 09:46 by admin

Some personal opinion about bazaar

Cleaning up and improving the introduction

Changes to Taxonomy
 
Toturial
 
Toturial
 
VCS
 
VCS
-
Started
+
Useful
Changes to Body
-
<p><em>This article is not finished neither it's cleaned up. I'm writing a migration guide from svn to bazaar for subversion users currently. If you're interested in this topic you might want to subscribe to feed/RSS in order to be notifed whenever i update it with more information.</em></p><p style="text-align: justify;">It's about the sixth years since my first commit using Subversion,
+
<p><em>This article is not finished neither it's cleaned up. I'm writing a migration guide from svn to bazaar for subversion users currently. If you're interested in this topic you might want to subscribe to feed/RSS in order to be notifed whenever i update it with more information.</em></p><p style="text-align: justify;"><span>It's about the sixth years since my first commit
  +
using Subversion,
 
Moving from CVS to Subversion was really amazing, Subversion was
 
Moving from CVS to Subversion was really amazing, Subversion was
 
superior in many ways and it served me well. But the age of centralized
 
superior in many ways and it served me well. But the age of centralized
-
version control systems is over, we need much more powerful VCSs
+
version control systems is over, we need much more powerful <span>VCSs</span>
 
to deal with huge projects. Now days we should to be able to work with
 
to deal with huge projects. Now days we should to be able to work with
 
anyone, on anything, anywhere ,
 
anyone, on anything, anywhere ,
-
at anytime, and also keep track of all this activities.</p><p><strong>Why did i start with Bazaar ?</strong></p><p>I decided to start with Bazaar for several reasons</p><ul><li>It's written with python and for this reason it's much easier to extend and develope than C or C++.</li><li>It's a multi purpose VCS covering several different Use Cases</li><li>It's plugin system is quite easy to use</li><li>It's comes with several great cross platform GUI utilities</li></ul><p>Drupal infrastructure team has finally decided to use Git instead of Bazaar. I read most of the comments there which was exteremly useful and it clearly confirmed my point of view which i mentioned earlier in this page. Bazaar is the winner at the time of writing this article by both Ease of use and Extensibility. <a href="http://groups.drupal.org/node/48818">Evaluation discussion for how to move Drupal.org off of CVS | groups.drupal.org</a>
+
at anytime, and also keep track of all this activities.</span></p><p style="text-align: justify;">The age of single all-in-one solution is over in many fields including Version Control Systems, each solution has its
-
</p><p>My main focus on this article is Bazaar but you'll see notes from my friend Antoni who is a Mercusial(HG) user.</p><h3>Plugins :</h3><p>Bazaar like the other three supports plugins , in my expreince <a href="http://wiki.bazaar.canonical.com/BzrPlugins?action=show&amp;redirect=UsingPlugins#Installing%20a%20plugin">installing Bazaar plugins</a> is as easy as downloading and the extracting it into the plugins folder. That's it. it's even easier even windows.</p><h3>Integration : </h3><p>Bazaar
+
own pros and cons and Same applies to VCSs. So in this article i'm going to compare three major DVCSs available. There are many resources available regarding to this topic and each one has pros and cons. But the main issue i have with them is that most of them are outdated because all this DVCSs are under very active development. An issue that exists now, might become a feature! few months later. So i started this article as a research project which means that just like DVCSs it's also under active development :). Anyway if you like to read resources on other sites i suggest you to check the date they've been published before relying on them.</p><p><strong>Why did i start with Bazaar ?</strong></p><p>I decided to start with Bazaar for several reasons</p><ul><li>It's written with python and for this reason it's much easier to extend and develope than C or C++.</li><li>It's a multi purpose VCS covering several different Use Cases</li><li>It's plugin system is quite easy to use</li><li>It's comes with several great cross platform GUI utilities</li></ul><p>Drupal infrastructure team has finally decided to use Git instead of Bazaar. I read most of the comments there which was extremely useful and it clearly confirmed my point of view which i mentioned earlier in this page. Bazaar is the winner at the time of writing this article by both Ease of use and Extensibility. The main reason that they decided to use Git was the number of people willing to help. <a href="http://groups.drupal.org/node/48818">Evaluation discussion for how to move Drupal.org off of CVS | groups.drupal.org</a>
-
has a plugin for Eclipse, the installation proccess was not as smooth
+
</p><p>My main focus on this article is Bazaar but you'll see notes from my friend Antoni who is a Mercusial(HG) user.</p><h3>Installation</h3><h4>Bazaar</h4><p>Karmic : <br>Add this repository for Bazaar gui
  +
(known as bazaar explorer)</p><p>{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }ppa:bzr-explorer-dev/ppa{/syntaxhighlighter}</p><p>If
  +
you're not using Ubuntu Karmic more information here :&nbsp;
  +
https://launchpad.net/~bzr-explorer-dev/+archive/ppa</p><p>{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }sudo apt-get install bzr bzr-explorer bzr-svn
  +
{/syntaxhighlighter}</p><h3>Integration </h3><h4>Bazaar </h4><p>Has a plugin for Eclipse, the installation proccess was not as smooth
 
as subversion but i can't say that it was difficult. i had to manually
 
as subversion but i can't say that it was difficult. i had to manually
 
add the bzr binary and plugin folders location and also coinfugre few
 
add the bzr binary and plugin folders location and also coinfugre few
 
options (All couldn't be pre configured). But according to BzrEclipse
 
options (All couldn't be pre configured). But according to BzrEclipse
 
roadmap, it's going to be much better soon. number of feature is also
 
roadmap, it's going to be much better soon. number of feature is also
-
very limited comparing to subversion.</p><h3>Migration : </h3><p>What of the things which is very important for is the future plans :</p><p>Bazaar <a href="http://wiki.bazaar.canonical.com/Roadmap">roadmap</a> And also it looks like that bazaar developers really care about their users <a href="http://wiki.bazaar.canonical.com/ThreeWishes">ThreeWishes - Bazaar Version Control</a> , Bazaar also has <a href="http://doc.bazaar.canonical.com/bzr.0.17/developers/performance-roadmap.htm">Bazaar Performance Roadmap</a>
+
very limited comparing to subversion.</p><h4>Mercurial</h4><p>Mercurial is much better integrated with
-
</p><p>There is a new website for comparing git with others, very useful. whygitisbetterthanx.com</p><p>There
+
other applications, for
-
is also another website for comparing Bazaar and Git , they approche is
+
example currently netbeans
-
interesting and it's based on personal experience using Tweeter!
+
does not support Bezaar.
-
http://www.bzrvsgit.com/</p><p>To get started with bazaar as fast as you possible with subversion backgound : <a href="http://wiki.bazaar.canonical.com/BzrForSVNUsers">BzrForSVNUsers - Bazaar Version Control</a> and <a href="http://doc.bazaar.canonical.com/migration/en/survival/bzr-for-svn-users.html">Bazaar for Subversion users — Bazaar Migration Docs</a></p><h3>Short Guide for Bazaar To SVN migration</h3><p>Karmic : <br>Add this repository for bazaar gui (known as bazaar explorer)</p><p>{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }ppa:bzr-explorer-dev/ppa{/syntaxhighlighter}</p><p>If you're not using ubuntu karmic more iformation here :&nbsp; https://launchpad.net/~bzr-explorer-dev/+archive/ppa</p><p>{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }sudo apt-get install bzr bzr-explorer bzr-svn{/syntaxhighlighter}</p><p>Note :
+
more information
-
Bazaar changes rapidly and free vcs service might no be updatodate,
+
here <a href="http://wiki.bazaar.canonical.com/IDEIntegration">IDEIntegration
-
sourceforge uses 1.18 , in this case you'll need create using repo
+
- Bazaar Version Control</a></p><h3>Migration </h3><p>Obviously any DVCSs without proper migration utilities is useless for most projects, so lets see what each one has to offer.</p><h4>Bazaar </h4><p>To get started with bazaar as fast as you possible with subversion
-
using old format on local before import.</p><p>Note : While i was
+
background : <a href="http://wiki.bazaar.canonical.com/BzrForSVNUsers">BzrForSVNUsers
  +
- Bazaar Version Control</a> and <a href="http://doc.bazaar.canonical.com/migration/en/survival/bzr-for-svn-users.html">Bazaar
  +
for Subversion users — Bazaar Migration Docs</a></p><p>You might want to have look at [#1315]</p><p>Note : While i was
 
trying to migrate one of my sourceproject from svn to bzr, i came into
 
trying to migrate one of my sourceproject from svn to bzr, i came into
-
some very nasty issue due to the differece between server and local bzr
+
some very nasty issue due to the difference between server and local bzr
-
version. bazaar supports various different tree formats which can
+
version, however bazaar developers say that in 2.x serious and upwards it's no longer a issue. bazaar supports various different tree formats which can
 
causes lots of headaches. this command helped
 
causes lots of headaches. this command helped
-
https://sourceforge.net/apps/trac/sourceforge/ticket/517</p><p>Note :
+
https://sourceforge.net/apps/trac/sourceforge/ticket/517</p>
-
Mercurial is much better integrated with other applications, for
+
<h3>Roadmap</h3>
-
example currently netbeans does not support bezaar. more information
+
<p>All major DVCSs are under active development, which means that
-
here <a href="http://wiki.bazaar.canonical.com/IDEIntegration">IDEIntegration - Bazaar Version Control</a>
+
their roadmap plays an important role in the decision.</p><h4>Bazaar</h4><p>Bazaar <a href="http://wiki.bazaar.canonical.com/Roadmap">roadmap</a> And also
-
</p><p>Note: I don't recommend bazaar for non technical people</p><p>Note
+
it looks like that bazaar developers really care about their users <a href="http://wiki.bazaar.canonical.com/ThreeWishes">ThreeWishes -
-
: Be careful with reviews, most of this version control systems are
+
Bazaar Version Control</a> , Bazaar also has <a href="http://doc.bazaar.canonical.com/bzr.0.17/developers/performance-roadmap.htm">Bazaar
-
undel active developement, an issue that exists now might be more than
+
Performance Roadmap</a>
-
fix few month later. Alaywas check the review date before relying on it.</p><p>Note : The age of single all-in-one solution is over, each solution has its pros and cons. same applies to VCSs, each version control system different issues</p><h3>Resources : </h3><ul><li>Very useful article for Bazaar if you only want to contribute to a project : http://wiki.inkscape.org/wiki/index.php/Working_with_Bazaar</li><li>Exporting as xml : http://doc.bazaar-vcs.org/plugins/en/xmloutput-plugin.html</li><li>Plugin for checking commands before commit : http://doc.bazaar.canonical.com/plugins/en/testrunner-plugin.html</li><li>http://doc.bazaar.canonical.com/bzr.2.0/en/user-guide/publishing_a_branch.html</li><li>https://launchpad.net/~bzr-explorer-dev/+archive/ppa</li><li>http://doc.bazaar.canonical.com/latest/en/user-guide/bazaar_workflows.html</li><li>http://wiki.bazaar.canonical.com/BzrExplorer</li><li>https://launchpad.net/bzr-explorer</li><li>http://svn.borg.ch/svndumptool/0.5.0/</li><li>http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.1.2</li><li>http://blogs.nuxeo.com/sections/blogs/julien_anguenot/2006_04_21_dump-load-svn-repositories-using-svnadmin-svndumpfilter</li><li><a href="http://wiki.bazaar.canonical.com/svn2bzr">svn2bzr - Bazaar Version Control</a></li><li><a href="http://doc.bazaar.canonical.com/migration/en/survival/bzr-for-svn-users.html">Bazaar for Subversion users — Bazaar Migration Docs</a></li><li><a href="http://wiki.bazaar.canonical.com/BzrForSVNUsers">BzrForSVNUsers - Bazaar Version Control</a></li><li><a href="http://wiki.bazaar.canonical.com/Tutorials/CentralizedWorkflow">Tutorials/CentralizedWorkflow - Bazaar Version Control</a></li><li><a href="http://wiki.bazaar.canonical.com/IDEIntegration">IDEIntegration - Bazaar Version Control</a></li><li><a href="http://markpasc.livejournal.com/186489.html">assert(♥) - git equivalent to “svn copy” for forking files with history?</a></li><li><a href="http://doc.bazaar.canonical.com/migration/en/foreign/bzr-on-svn-projects.html#bzr-svn-limitations">Using Bazaar on Subversion projects — Bazaar Migration Docs</a>
+
</p><h3>Plugins</h3><h4>Bazaar</h4><p>Bazaar like the other three supports plugins , in my experience <a href="http://wiki.bazaar.canonical.com/BzrPlugins?action=show&amp;redirect=UsingPlugins#Installing%20a%20plugin">installing Bazaar plugins</a> is as easy as downloading and then extracting it
  +
into the plugins folder.
  +
That's it. it's even easier even windows.</p><h4>Notes</h4><p>There is a <a href="http://whygitisbetterthanx.com">nice website</a> for comparing git vs others, very useful. Funny thing is that HG users <a href="http://whyhgisbetterthanx.com">did the same!</a> but made their point quite clear! Also Git users made another one <a href="http://whybzrisbetterthanx.github.com/">for Bazaar!</a></p><p>There
  +
is also another website for comparing Bazaar and Git , they approach is
  +
interesting and it's based on personal experience using Tweeter!
  +
http://www.bzrvsgit.com/</p><p><a href="http://wiki.bazaar.canonical.com/IDEIntegration"></a>
  +
</p><h3>Resources </h3><ul><li><a href="http://wiki.bazaar.canonical.com/BzrExplorer">BzrExplorer - Bazaar Version Control</a>
  +
</li><li><a href="http://doc.bazaar.canonical.com/latest/en/user-guide/bazaar_workflows.html">Workflows — Bazaar v2.1.1 documentation</a>
  +
</li><li><a href="https://launchpad.net/%7Ebzr-explorer-dev/+archive/ppa">Bazaar Explorer PPA : “Bazaar Explorer Developers” team</a>
  +
</li><li><a href="http://doc.bazaar.canonical.com/bzr.2.0/en/user-guide/publishing_a_branch.html">Publishing a branch — Bazaar v2.0.5 documentation</a>
  +
</li><li><a href="https://launchpad.net/%7Ebzr-explorer-dev/+archive/ppa">Bazaar Explorer PPA : “Bazaar Explorer Developers” team</a>
  +
</li><li><a href="http://doc.bazaar.canonical.com/plugins/en/testrunner-plugin.html">testrunner - Run a command before allowing a commit — Bazaar v2.0.x documentation</a>
  +
</li><li><a href="http://doc.bazaar.canonical.com/plugins/en/xmloutput-plugin.html">xmloutput - XML interface for external tool integration — Bazaar v2.0.x documentation</a>
  +
</li><li><a href="https://launchpad.net/bzr-explorer">Bazaar Explorer in Launchpad</a>
  +
</li><li><a href="http://svn.borg.ch/svndumptool/0.5.0/">SvnDump 0.5.0</a>
  +
</li><li><a href="http://svnbook.red-bean.com/en/1.1/ch05s03.html#svn-ch-5-sect-3.1.2">Repository Maintenance</a>
  +
</li><li><a href="http://blogs.nuxeo.com/dev/2006/04/dump-load-svn-repositories-using-svnadmin-svndumpfilter.html">Dump and load foreign subversion repositories using svnadmin and svndumpfilter, Nuxeo Developers Blog</a>
  +
</li><li><a href="http://wiki.bazaar.canonical.com/svn2bzr">svn2bzr - Bazaar Version Control</a></li><li><a href="http://doc.bazaar.canonical.com/migration/en/survival/bzr-for-svn-users.html">Bazaar for Subversion users — Bazaar Migration Docs</a></li><li><a href="http://wiki.bazaar.canonical.com/BzrForSVNUsers">BzrForSVNUsers - Bazaar Version Control</a></li><li><a href="http://wiki.bazaar.canonical.com/Tutorials/CentralizedWorkflow">Tutorials/CentralizedWorkflow - Bazaar Version Control</a></li><li><a href="http://wiki.bazaar.canonical.com/IDEIntegration">IDEIntegration - Bazaar Version Control</a></li><li><a href="http://markpasc.livejournal.com/186489.html">assert(♥) - git equivalent to “svn copy” for forking files with history?</a></li><li><a href="http://doc.bazaar.canonical.com/migration/en/foreign/bzr-on-svn-projects.html#bzr-svn-limitations">Using Bazaar on Subversion projects — Bazaar Migration Docs</a>
 
</li></ul>
 
</li></ul>
Revision of Tue, 2010-03-30 09:46:

Comparing Version Control Systems : Bazaar vs Mercurial (hg) vs Git

Toturial

This article is not finished neither it's cleaned up. I'm writing a migration guide from svn to bazaar for subversion users currently. If you're interested in this topic you might want to subscribe to feed/RSS in order to be notifed whenever i update it with more information.

It's about the sixth years since my first commit using Subversion, Moving from CVS to Subversion was really amazing, Subversion was superior in many ways and it served me well. But the age of centralized version control systems is over, we need much more powerful VCSs to deal with huge projects. Now days we should to be able to work with anyone, on anything, anywhere , at anytime, and also keep track of all this activities.

The age of single all-in-one solution is over in many fields including Version Control Systems, each solution has its own pros and cons and Same applies to VCSs. So in this article i'm going to compare three major DVCSs available. There are many resources available regarding to this topic and each one has pros and cons. But the main issue i have with them is that most of them are outdated because all this DVCSs are under very active development. An issue that exists now, might become a feature! few months later. So i started this article as a research project which means that just like DVCSs it's also under active development :). Anyway if you like to read resources on other sites i suggest you to check the date they've been published before relying on them.

Why did i start with Bazaar ?

I decided to start with Bazaar for several reasons

  • It's written with python and for this reason it's much easier to extend and develope than C or C++.
  • It's a multi purpose VCS covering several different Use Cases
  • It's plugin system is quite easy to use
  • It's comes with several great cross platform GUI utilities

Drupal infrastructure team has finally decided to use Git instead of Bazaar. I read most of the comments there which was extremely useful and it clearly confirmed my point of view which i mentioned earlier in this page. Bazaar is the winner at the time of writing this article by both Ease of use and Extensibility. The main reason that they decided to use Git was the number of people willing to help. Evaluation discussion for how to move Drupal.org off of CVS | groups.drupal.org

My main focus on this article is Bazaar but you'll see notes from my friend Antoni who is a Mercusial(HG) user.

Installation

Bazaar

Karmic :
Add this repository for Bazaar gui (known as bazaar explorer)

ppa:bzr-explorer-dev/ppa

If you're not using Ubuntu Karmic more information here :  https://launchpad.net/~bzr-explorer-dev/+archive/ppa

sudo apt-get install bzr bzr-explorer bzr-svn

Integration

Bazaar

Has a plugin for Eclipse, the installation proccess was not as smooth as subversion but i can't say that it was difficult. i had to manually add the bzr binary and plugin folders location and also coinfugre few options (All couldn't be pre configured). But according to BzrEclipse roadmap, it's going to be much better soon. number of feature is also very limited comparing to subversion.

Mercurial

Mercurial is much better integrated with other applications, for example currently netbeans does not support Bezaar. more information here IDEIntegration - Bazaar Version Control

Migration

Obviously any DVCSs without proper migration utilities is useless for most projects, so lets see what each one has to offer.

Bazaar

To get started with bazaar as fast as you possible with subversion background : BzrForSVNUsers - Bazaar Version Control and Bazaar for Subversion users — Bazaar Migration Docs

You might want to have look at Migrating from Subversion to Bazaar (Including special guide for Sourceforge projects)

Note : While i was trying to migrate one of my sourceproject from svn to bzr, i came into some very nasty issue due to the difference between server and local bzr version, however bazaar developers say that in 2.x serious and upwards it's no longer a issue. bazaar supports various different tree formats which can causes lots of headaches. this command helped https://sourceforge.net/apps/trac/sourceforge/ticket/517

Roadmap

All major DVCSs are under active development, which means that their roadmap plays an important role in the decision.

Bazaar

Bazaar roadmap And also it looks like that bazaar developers really care about their users ThreeWishes - Bazaar Version Control , Bazaar also has Bazaar Performance Roadmap

Plugins

Bazaar

Bazaar like the other three supports plugins , in my experience installing Bazaar plugins is as easy as downloading and then extracting it into the plugins folder. That's it. it's even easier even windows.

Notes

There is a nice website for comparing git vs others, very useful. Funny thing is that HG users did the same! but made their point quite clear! Also Git users made another one for Bazaar!

There is also another website for comparing Bazaar and Git , they approach is interesting and it's based on personal experience using Tweeter! http://www.bzrvsgit.com/

Resources

Your rating: None Average: 2.4 (47 votes)