
On Fri, Jan 28, 2011 at 18:33, Sebastian Redl
On 28.01.2011 10:06, Dean Michael Berris wrote:
4. How does mercurial deal with forks? In Git a repository is automatically a fork of the source repository. I don't know whether every mercurial repo is the same as a Git repo though -- meaning whether the same repository can be exposed to a number of protocols and dealt with like any other Git repo (push/pull/merge/compact, etc.)
Hg and Git deal with forks pretty much the same way. There are some minor differences in the handling of anonymous branching within a single clone (i.e. what happens when you are not on the most recent commit and do a commit yourself), I believe. Hg actually has a plug-in that lets it push and pull to/from a Git server.
I think this is a very important point for this discussion. Both Hg and bzr come with a plugin that lets them work with a git branch/server. Hence, as the current work with git is well underway and git is very popular out there, we might as well stick with it. Users that however feel more comfortable using hg or bzr can do so with no obstacle (assuming these plugins work well, haven't tried advanced usage cases myself).
The think I like most about Git over Mercurial is the extensive history rewriting capability (hg rebase -i). Wonderful for cleaning up my local commit mess before pushing.
Yup, bzr can do such things too (also useful if you accidentally committed files in some revision that you'd like to get rid off from all revisions, though I believe that was a different command). Best, Dee