<i>&gt; So there&#x27;s definitely a sense to me that Mercurial is the better VCS because it will quietly support whatever development model you want to use, whereas Git tries to force you to use the One True Model™</i><p>Considering the number of tools based on the Git data model to do completely unrelated things (I&#x27;m thinking about e.g. bup or git-annex). I wouldn&#x27;t say that&#x27;s Git imposes you a One True Model. Also, Git doesn&#x27;t restrict you to an arbitrary number of parents on a commit ;).<p>BTW,<p><i>&gt; The Mercurial community seems to be working hard on making enormous monolithic repositories much more performant and realiable</i><p>The irony is that to do so, Mercurial had to bend its data model, adding (backwards incompatible) support for per-directory manifests (which sound a lot like trees in Git, except the part where manifests have history attached to them, where Git only has history attached to commits).