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).