How does Git compare to the other DVCSs? Aside from a few articles that compare it to one or two others, generally Mercurial, I haven't seen many informed comparisons that aren't a few years old. Git seems to get a lot of buzz because it's involved with Linus and (perhaps as a result) seems to be the hip thing in the Ruby community, but most of the buzz just says, "wow, git is better than Subversion!" for values of better that likely apply to every distributed VC system (e.g., "it lets me commit offline!"). Are there recent, informed, detailed comparisons?<p>I have been using Monotone for several months, including keeping my home directory under VC and synchronized between my desktop, server, and laptop, and have been quite pleased with it. I like its systems of using hashes as version IDs, and having one SQLite file for the entire database seems like a good idea.<p>Monotone got a little slow after I added several thousand files, but then I noticed there is a flag to first check against cached inodes (<a href="http://monotone.ca/docs/Inodeprints.html#Inodeprints" rel="nofollow">http://monotone.ca/docs/Inodeprints.html#Inodeprints</a>) instead of recalculating the hashes for everything every time. It's apparently disabled to have a default stance of <i>extreme caution</i>, but doesn't seem to pose anymore risk than, say, using a journaling filesystem, and speeds things up dramatically. The few evaluations I've seen of mtn wrote it off as slow, without trying this.<p>The "algebra of patches" system in Darcs looks interesting, as well. As I understand it: every change has its inverse calculated, so you can apply / undo any combination of patches in the entire history. I haven't used it for more than a few quick experiments, though.