Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [VOTE] git versus mercurial (for DragonflyBSD)

From: David Soria Parra <hidden>
Date: 2016-06-15 22:45:32

Emanuele Aina schrieb:
Jakub Narebski precisò:
quoted
quoted
What do you mean by "cleaner design"? 
Clean _underlying_ design. Git has very nice underlying model of graph
(DAG) of commits (revisions), and branches and tags as pointers to this
graph.
Just for reference, the abstract history model of Mercurial and GIT is
the same, a DAG of changesets identified by their cryptographic hash as
designed for Monotone, which can be considered the parent of both.

GIT and Mercurial then differs in how this abstract model is written to
disk, with different tradeoffs in terms of performances and how easily a
specific feature can be implemented, but there is no reason something
can be done in GIT but not in Mercurial or viceversa.
Yes, it's the same: a DAG  with hashes. But there are limitations due to 
the implementation (and not the design). Just as a bad and completely 
useless example (don't start to argue, I know it's nothing someone would 
like to have): you cannot force mercurial to merge two revisions and 
create a merge commit if one is the others ancestor,which is possible in 
git with git --no-ff. In addition they differ in some other ways: 
Mercurial doesn't have an index to stage commits, which is something 
that git has and allows very powerful features (such as git add -i, etc).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help