Hello,

On Wed, Sep 23, 2009 at 02:09:32PM +0200, Arne Babenhauserheide wrote:
> 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. 

Well, yes, but wasn't CVS, for instance, created for distributed code
collaboration, too?  Or do I understand the word ``distributed''
wrong?
 
> 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. 
> 
> Example: 
> 
> Mercurial: All history is shared, except if you explicitely declare it 
> otherwise. 
> Git: You should specify which branch to push and pull. 
> 
> Mercurial: Make it easy to use and encapsulate dangerous functonality in 
> extensions. 
> 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. 

A very nice map of differences, thank you :-) I'll use this mail as a
kind of reference for the future, if you don't mind ;-)
 
> 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 :) ). 

Sounds complicated, but also like it shouldn't be extremely hard to
handle the problems once you know about them :-)

Regards,
scolobb


Reply via email to