Widzę wiele odpowiedzi na to pytanie, które opierają się na odczuciach autora, gdy usłyszałem o jednym lub drugim SCM. Inni mówią, że to wszystko było zwykłym szczęściem. Wierzę, że szczęście można prześledzić w historii.
Opowiem o historii.
Git i Mercurial zostały utworzone jednocześnie, aby rozwiązać ten sam problem. W tamtych czasach jądro Linuksa było zmuszone przestać używać BitKeeper , zastrzeżonego, rozproszonego SCM, z którego korzystał przez 3 lata. Powodem tego był fakt, że Larry McVoy, dyrektor generalny BitMover, firmy stojącej za BitKeeper, przestał rozdawać swoje oprogramowanie za darmo programistom Linuksa, ponieważ ktoś ze społeczności Linuksa poddał go inżynierii wstecznej.
Linus Torvalds, niezadowolony z tego, co już istniało, zaczął później pracować nad nowym SCM, który wkrótce nazwał Git. Wkrótce potem Matt Mackall rozpoczął projekt Mercurial z podobnych powodów.
Po pewnym czasie opracowywania tych projektów osobno Matt Mackall zaprezentował zaawansowaną wersję swojego SCM i porównał go w pewien sposób, porównując go do Gita (który miał zaledwie kilka tygodni). Linus rozważał użycie go zamiast Git do rozwoju jądra, ale porzucił ten pomysł, gdy zdał sobie sprawę, że Mercurial używa zestawów zmian do rejestrowania modyfikacji wersji . Obawiał się, że jest to zbyt blisko sposobu działania BitKeepera i na pewno nie chciał niczego, co mogłoby zmusić kogoś do powiedzenia: „Zbudowali klon BitKeepera”.
Git został więc użyty do rozwoju jądra zamiast Mercurial, ale oba były technicznie istotne. Rezultat końcowy jest taki, że Git zaczął od użycia go tam, gdzie został zaprojektowany, podczas gdy Mercurial nie był tak szybki, aby znaleźć pierwsze duże zastosowanie FOSS. Ponieważ został wyposażony w bardzo dobry projekt, a dzięki wytrwałości Matta Mackalla, ostatecznie stał się sławny i przywykł do dużych, rzeczywistych projektów.
Dziś oboje są sławni. Który z nich jest najbardziej znany, nie można powiedzieć. Google Code dopiero niedawno zintegrował Git, choć od dawna miał Mercurial. Korzysta z nich wiele naprawdę dużych i znanych projektów.
Myślę, że mam na myśli to, że kiedy sam powód, dla którego zacząłeś projekt, zanika, trudniej jest zdobyć popularność, ale nadal jest to wykonalne.
Bazaar to kolejny SCM, który jest bardzo znany w świecie GNU, ale nie tak bardzo poza nim, ponieważ został zbudowany w celu zadowolenia społeczności GNU. Oprogramowanie często trafia tam, gdzie chcą iść ich twórcy, i nic więcej.
Z drugiej strony rozproszone SCM są wyraźnymi zwycięzcami. Nie widzę tam wielu szeroko rozpowszechnionych SCM.