[OT] DVCS

"Jérôme M. Berger" jeberger at free.fr
Wed Oct 27 14:33:54 PDT 2010


Vladimir Panteleev wrote:
>>     Anyway, I don't see any point in using Git since Mercurial can sync
>> just fine with a Git repository :)
> 
> Well, the topic at hand was which VCS to use for an open-source project.
> Using your argument, there is no reason to use Mercurial over Git,
> because Mercurial users can sync just fine with Git repositories :)
> 
	Well, Mercurial offers much less opportunities to shoot oneself in
the foot and is much easier to use. This is especially true if you
come from another VCS like SVN: you can use the same commands for
the same results on the local repository and you only need to learn
a couple of commands for syncing. Git uses different commands for
everything (this is actually a stated design goal: try to make
things as different from CVS as possible!)

	The only true advantage that Git has over Mercurial is the staging
area, and even that is a two edged sword: IMO it should not be
enabled by default since it helps people to lose data. And the same
functionality can be emulated (and superseded) in Mercurial with
record and mq anyway.


	So, why use Mercurial?
- It is safer to work with: make a change, commit, your change is in
the repository. With git, you need to "add" your change before
committing (or remember to use the correct option when committing,
"-a" IIRC);

- It is easier to use when you come from another VCS (and even when
you do not: try to figure out from the Git doc how to revert a
change you've made but not yet committed);

- It is safer on Windows: in six years, I have never had a data loss
or corruption, whereas I've had both with Git in a two days test
without doing anything special;

- It is faster on Windows (not by much for most operations, but
sometimes spectacularly so);

- Repositories are smaller on Windows (ok, that's not so important
given the price of HDDs today);

- If you are already a Python user, it is only a very small package
to add whereas Git installs a lot of cruft that you won't be able to
use anyway even if you wanted to.


	Why use Git?
- You know someone who uses it and will be able to guide you through
all the pitfalls;

- You really, really, really *always* need the staging area so you
want to have it by default instead of using mq. If that is the case,
you will probably wind up using quilt anyway (quilt is the Git
equivalent for mq).

		Jerome
-- 
mailto:jeberger at free.fr
http://jeberger.free.fr
Jabber: jeberger at jabber.fr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-announce/attachments/20101027/c1507c51/attachment.pgp>


More information about the Digitalmars-d-announce mailing list