views:

750

answers:

6

With Phil Haack and others recently tweeting about CodePlex's move to support Mercurial as a DVCS, I thought it might be worth a look.

As someone who currently uses SVN for personal projects and TFS at The Office, how does Mercurial compare in terms of usability, features and what are some of the better Mercurial hosting services available?

+16  A: 

As far as comparing to Git, Google recently published an interesting comparison of Git and Mercurial based on their evaluation: http://code.google.com/p/support/wiki/DVCSAnalysis

Dave Ward
Perfect. That's got everything I need. Thanks for the tip, @Dave Ward.
Phil.Wheeler
Note that this analysis is out of date, for example Git has acquired not so long time ago support for "smart" HTTP transport.
Jakub Narębski
+1  A: 

One thing not mentioned in the Google comparison was that Git appears to be much faster. Mercurial seems fast enough (with small projects at least) but Git is simply lightning-fast no matter what size the project.

Tronic
Remember however that you're comparing lightning and a supersonic jet. The only real issue git has is tool support on other platforms than Linux but I'd suppose that's going to change eventually.
Esko
Actually, both Git and Mercurial become super slow when the project's checked out size starts to creep towards GB's. So size does matter.
Spoike
TortoiseGit is a very good GUI tool for Windows. I guess users of other platforms are mostly happy with the commandline tool, perhaps combined with graphical tree visualization software like gitg.
Tronic
@Tronic: when was the last time you did a repack on a big project? It's pretty slow and needs lots of memory... (Mercurial doesn't need repack).
tonfa
Git crawls over HTTP compared to HG. If you don't need the added security of SSH vs SSL and want something simple then this can be a factor
Chris S
+4  A: 

About comparing Mercurial with Git - see this SO question: Git and Mercurial - Compare and Contrast (and my long answer there).

About comparing Mercurial with svn - see this SO question: For home projects, can Mercurial or Git (or other DVCS) provide more advantages over Subversion? (theoretically this question is limited in range, though; I wrote about Git vs Subversion in my answer).

Jakub Narębski
A: 

SVN has lots of support by 3rd party tools including IDE and bug tracking systems etc including the rather nice TortoiseSVN.

Most developers have used SVN in the past, so getting new developers up to speed on your team is quicker with SVN.

How important this sort of thing is to you, only you can decide.

Ian Ringrose
+5  A: 

Compared to SVN, for which I recently worked with again after quite awhile, Mercurial is amazing. It gave me a feeling of "Why would anyone use SVN anymore". SVN is pretty good, but Mercurial really does just work better.

For personal projects I would switch without a doubt to a DVCS. It does everything SVN does but better, and much faster. The "learning curve" is just understanding some terminology.

In reality the difference between SVN and a DVCS is that everyone has a full working repository on their system. If you decide to have a "master server", it is exactly the same as what you have, except it is setup to continually serve over a network. To sync these all you do is send/receive(push/pull) the changes between these repositories.

mfperzel
+1  A: 

It's probably just me, but I have been using Mercurial for six months, after several years of using SVN exclusively, and for some reason it just doesn't fit my mental model as well. I know exactly what I'm doing in SVN, and if something goes wrong, I pretty much always know how to fix it. Conceptually I have no problem with Mercurial - love that I have a local copy of the repository, for example - but in practise I am always losing things. I think it might be because a merge in SVN is quite a big deal, whereas in Hg it's the normal way of things. I want more control over my merges. In SVN it's always clear which changeset precedes which, but Mercurial seems to lack this. Even TortoiseHg, which is quite nice visually, doesn't seem to offer enough opportunities to see exactly what's being merged.

thepeer