What are the strengths of Mercurial for you?

Peter Arrenbrecht peter.arrenbrecht at gmail.com
Fri Jan 9 02:05:15 CST 2009


On Thu, Jan 8, 2009 at 5:37 PM, Arne Babenhauserheide <arne_bab at web.de> wrote:
> Since the "Promoting Mercurial" discussion lost focus quite quickly, I decided
> to start this thread for getting it a bit more focussed.
>
> Please keep answers to one topic (else use a different subject):
>
>
>        What are the strengths of Mercurial for you?

Today: simplicity, being distributed, extensibility, speed,
familiarity, bash completion, understandable and reasonably small code
base (well, still need to get a full picture of changegroupsubset).

When I started:

1. Does not get in the way

What initially sold my was the ability to work without IDE
integration. I used Svn within Eclipse, and it just told me after one
rename refactoring where I chose a bad name that, no, you cannot
rename again before you commit. Duh! A VCS should *not* dictate how I
refactor.

So I looked at Hg, and it has `hg addremove --similarity`. (Since
then, I have updated this a little so I have `hg addrem; hg
guessrenames`, where I can repeat the guessrenames with different
similarity settings until I like them.) Anyhow, it allows me to work
without any VCS IDE integration at all, removing one pain point. Bzr
didn't have this (still doesn't, I think) and it's what clinched the
deal for me.

And `hg add` is much more directly useful than `svn add`, too.

Though something like shelve should really be built-in, I think. This
is where today I get most instances of thinking that it's getting in
my way.

2. Has good Windows support

I started on Windows, but seeing how good bash-completion for hg is
actually won me over to Linux. ;)

3. Has only one .hg folder, not the .svn nightmare

Even today I see experienced SVN folks check in stuff they copied in
the file system from one branch to another to the original branch
again because the .svn folders got copied too.

4. Is distributed and works offline

I work at home, on the train, in cafes, in different machines, etc.
And the team on the project gradually grew from just me to a few
people here and abroad. This was a totally seamless experience, even
while we had no central server and were simply exchanging bundles via
FTP or email. And everybody got up to speed quickly.

-parren


More information about the Mercurial mailing list