
On 28.01.2011 10:06, Dean Michael Berris wrote:
I have to be honest here and say up front that I have no idea what the features of mercurial are, so I have some questions with it in particular: 2. Does it allow for compacting and local compression of assets? Git has a rich set of tools for compressing and dealing with local repositories. It also has a very efficient way of preserving objects across branches and what not. Mercurial has a completely different storage format from Git. 3. Does mercurial work in "email" mode? Git has a way of submitting patches via email -- and have the same email read-in by git and parsed as an actual "merge". This is convenient for discussing patches in the mailing list and preserving the original message/discussion. This gives people a chance to publicly review the changes and import the same changeset from the same email message. Yes, Mercurial can format changesets as emails. 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.
Also, Mercurial works better on Windows than git does in my experience --- the git port for Windows is relatively recent, whereas Mercurial has supported Windows for a while. Since many of the boost developers use Windows I would have thought this was an important consideration. I haven't any personal experience of bazaar, so don't know how it fares in this regard.
I've used Msysgit for the most part, and it works very well -- actually, works the same in Linux as it does in Windows. Are we talking about the same Windows port of Git? I don't think Git currently has any integration plug-ins like TortoiseHg (Explorer) or VisualHg (Visual Studio).
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. Sebastian