[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VCS (was: hurd-web/hurd/translator/unionmount.mdwn)

From: Arne Babenhauserheide
Subject: Re: VCS (was: hurd-web/hurd/translator/unionmount.mdwn)
Date: Wed, 23 Sep 2009 14:09:32 +0200
User-agent: KMail/1.12.1 (Linux/2.6.30-gentoo-r5; KDE/4.3.1; x86_64; ; )

Am Mittwoch, 23. September 2009 13:23:43 schrieb Sergiu Ivanov:
> Hm, I thought there would be more differences than that.  Although
> from your discussion with Arne last summer I could only suppose that
> git and Mercurial are very similar in many approaches.

They were written for the same usecase: Distributed code collaboration. 

So it's natural that they are similar, but there still are significant 
differences in philosophy and thus in the default workings of the commands. 


Mercurial: All history is shared, except if you explicitely declare it 
Git: You should specify which branch to push and pull. 

Mercurial: Make it easy to use and encapsulate dangerous functonality in 
Git: Make it super-powerful and expose all functionality to each user. 

Mercurial: Offer default shorthands and aliases for commands. 
Git: Users can write their own shorthands and aliases. 

Example of the last: Update/checkout the latest revision of the whole repo: 

- Mercurial: hg up
- Git: git checkout .

And for git users Mercurial offers the alias "hg checkout" which can be 
abbreviated to "hg ch", as long as this abbreviation is unambigous - a rule 
which is true for all commands. 

This also means, that scripts should always use the long version, because 
extensions can add commands, so an abbreviation can become ambigous when you 
add an extension (everything has its downside :) ). 

Best wishes, 

--- --- --- --- --- --- --- --- --- 
Unpolitisch sein
hei├čt politisch sein, 
ohne es zu merken. 
- Arne (http://draketo.de)
--- --- --- --- --- --- --- --- --- 

Attachment: signature.asc
Description: This is a digitally signed message part.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]