Ich sehe viele Antworten darauf, die sich auf die Gefühle des Autors stützen, als er von dem einen oder anderen SCM hörte. Andere sagen, alles sei Glück gewesen. Ich glaube, dass Glück in der Geschichte zurückverfolgt werden kann.
Ich werde über die Geschichte sprechen.
Git und Mercurial wurden gleichzeitig erstellt, um das gleiche Problem zu lösen. Damals war der Linux-Kernel gezwungen, BitKeeper , ein proprietäres verteiltes SCM, das er seit drei Jahren verwendet, nicht mehr zu verwenden. Der Grund dafür war, dass Larry McVoy, CEO von BitMover, dem Unternehmen, das hinter BitKeeper steht, seine Software nicht mehr kostenlos an Linux-Entwickler weitergibt, weil jemand in der Linux-Community sie rückentwickelt hatte.
Linus Torvalds, der mit dem, was bereits existierte, unzufrieden war, begann daraufhin, an einem brandneuen SCM zu arbeiten, den er bald Git nennen würde. Kurz darauf startete Matt Mackall aus ähnlichen Gründen das Mercurial-Projekt.
Nachdem Matt Mackall diese Projekte einige Zeit separat entwickelt hatte, präsentierte er eine erweiterte Version seines SCM und bewertete sie auf eine bestimmte Weise als Benchmark. Er verglich sie mit Git (der selbst erst ein paar Wochen alt war). Linus erwog, es anstelle von Git für die Kernel-Entwicklung zu verwenden, ließ die Idee jedoch fallen, als er feststellte, dass Mercurial Changesets verwendete, um Revisionsänderungen zu protokollieren . Er befürchtete, dass dies der Arbeitsweise von BitKeeper zu nahe käme, und er wollte auf keinen Fall, dass jemand sagen könnte: "Sie haben einen BitKeeper-Klon erstellt".
Git wurde daher für die Kernel-Entwicklung anstelle von Mercurial verwendet, aber beide waren technisch relevant. Das Endergebnis ist, dass Git ursprünglich dort eingesetzt wurde, wo es eingesetzt werden sollte, während Mercurial seine erste große Verwendung für FOSS nicht so schnell fand. Weil es mit einem sehr guten Design ausgestattet war und dank Matt Mackalls Beharrlichkeit wurde es schließlich berühmt und wurde für große Projekte in der realen Welt verwendet.
Heute sind beide berühmt. Welches am bekanntesten ist, lässt sich nicht sagen. Google Code hat Git erst kürzlich integriert, während es lange Zeit Mercurial gab. Viele wirklich große und berühmte Projekte verwenden beide.
Ich denke, was ich meine ist, wenn der Grund, warum Sie ein Projekt gestartet haben, verschwindet, ist es schwieriger, an Popularität zu gewinnen, aber immer noch machbar.
Bazaar ist ein weiteres SCM, das in der GNU-Welt sehr berühmt ist, aber nicht so sehr darüber hinaus, weil es mit der Absicht gebaut wurde, die GNU-Community zufriedenzustellen. Software geht oft dahin, wohin ihre Entwickler wollen, und nicht weiter.
Andererseits sind verteilte SCMs klare Gewinner. Ich sehe nicht viele weit verbreitete nicht verteilte SCMs da draußen.