[OT] Comparing VCS tools (was ""Development tools and practices for Pythonistas")

Tim Chase python.list at tim.thechases.com
Tue Apr 26 21:44:29 EDT 2011


On 04/26/2011 01:42 PM, Algis Kabaila wrote:
> Thomas, have you tried bzr (Bazaar) and if so do you consider hg
> (Mercurial) better?
>
> And why is it better?   (bzr is widely used in ubuntu, which is
> my favourite distro at present).

Each of the main 3 (bzr, hg, git) have advantages and 
disadvantages.  As Ben (and others?) mentions, it's best to learn 
one of these instead of starting with something like Subversion 
or worse (CVS or worse, *shudder* MS Visual SourceSafe)


Bazaar (bzr)
============
launchpad.net popular for hosting
Pros:
- some Ubuntu interactions (such as launchpad) easier
- a rigorous focus on correctness
- written in Python (with a small optional bit of C)
- easy-to-use interface (CVS-ish)
- good cross-platform support

Cons:
- was slow, though I understand they've worked on improving this

Protocols:
- custom/smart protocol
- http
- sftp
- ftp
- rsync (via plugin)


Mercurial (hg)
==============
BitBucket is popular for hosting
Pros:
- speedy
- written in Python (with a small optional bit of C)
- easy-to-use interface (CVS-ish)
- fairly compact repositories
- EXCELLENT documentation via online book
- chosen by Python as the repository of choice
- good cross-platform support

Cons:
- no biggies that I've found

Protocols:
- http
- ssh


Git (git)
=========
GitHub is popular for hosting
Pros:
- a *lot* of popular projects use it (Linux kernel)
- fast
- fairly compact repositories
- good documentation (though somewhat scattered)

Cons:
- interface diverges from the "CVS standards"
- (was?) not native on
- repositories require periodic maintenance using git gc
- Win32 support is/was a little clunky
- interface was under tumultuous change for a while (though it 
seems to have stabilized now)

Protocols:
- custom/smart protocol
- http
- sftp
- ftp


So that said, I've become a Mercurial user because the interface 
was close to SVN which I used previously, and it was speedy on my 
older machines.  If bzr has come up to comparable speed, I'd be 
game to probe it again.  I just don't care for git's command-line 
UI, but that's a personal preference thing (just like I prefer 
vi/vim over emacs, but acknowledge there are lots of smart folks 
on the other side, too).

-tkc

For at least hg vs. git, see
http://stackoverflow.com/questions/1598759/git-and-mercurial-compare-and-contrast









More information about the Python-list mailing list