Vedo molte risposte a questo che si basano sui sentimenti che l'autore ha avuto quando ha sentito parlare dell'uno o dell'altro SCM. Altri dicono che tutto era pura fortuna. Credo che la fortuna possa essere fatta risalire alla storia.
Parlerò di storia.
Git e Mercurial sono stati creati simultaneamente per risolvere lo stesso problema. In quei giorni, il kernel di Linux è stato costretto a uscire da un periodo durante il quale aveva utilizzato BitKeeper , un SCM distribuito proprietario che li aveva serviti per molti anni.
In effetti, Larry McVoy, CEO di BitMover, la società dietro BitKeeper, ha smesso di distribuire il suo software gratuitamente agli sviluppatori Linux, perché qualcuno all'interno della comunità Linux l'ha decodificato.
Linus Torvalds, insoddisfatto di ciò che già esisteva, iniziò successivamente a lavorare su un nuovo SCM che avrebbe presto chiamato Git. Subito dopo, Matt Mackall ha avviato il progetto Mercurial per ragioni simili.
Dopo un po 'di tempo a sviluppare questi progetti separatamente, Matt Mackall ha presentato una versione avanzata del suo SCM e lo ha confrontato in un certo modo, confrontandolo con Git (che era di per sé solo un paio di settimane fa). Linus ha considerato di usarlo al posto di Git per lo sviluppo del kernel, ma ha abbandonato l'idea quando ha realizzato che Mercurial stava usando Modifiche per registrare modifiche di revisione . Temeva che fosse troppo vicino al modo in cui BitKeeper funzionava, e certamente non voleva nulla che potesse far dire a qualcuno: "Hanno costruito un clone di BitKeeper".
Git è stato quindi utilizzato per lo sviluppo del kernel al posto di Mercurial, ma entrambi erano tecnicamente rilevanti. Il risultato finale è che Git è stato originariamente utilizzato dove era stato progettato per essere utilizzato, mentre Mercurial non era così veloce da trovare il suo primo grande utilizzo del FOSS. Perché è stato dotato di un ottimo design e, grazie alla perseveranza di Matt Mackall, è diventato famoso e utilizzato per i grandi progetti del mondo reale.
Oggi sono entrambi famosi. Qual è il più famoso è impossibile da dire. Google Code ha integrato Git solo recentemente, mentre Mercurial era da tanto tempo. Anche molti progetti molto grandi e famosi lo usano.
Credo che ciò che intendo sia, quando il vero motivo per cui hai avviato un progetto scompare, è più difficile ottenere popolarità, ma ancora fattibile.
Bazaar è un altro SCM che è molto famoso nel mondo GNU, ma non tanto al di fuori di questo, perché è stato costruito con l'intento di soddisfare la comunità GNU. Il software spesso va dove i loro creatori vogliono andare, e non oltre.
D'altro canto, gli SCM distribuiti sono chiari vincitori. Lì fuori non vedo molti SCM largamente diffusi.