Manche Leute denken, dass VCS-Systeme kompliziert sein müssen. Sie ermutigen dazu, Begriffe und Konzepte auf dem Gebiet zu erfinden. Sie würden wahrscheinlich denken, dass zahlreiche Promotionen zu diesem Thema interessant wären. Darunter sind wahrscheinlich auch diejenigen, die Git entwickelt haben.
Mercurial ist mit einer anderen Mentalität konzipiert. Entwickler sollten sich nicht viel um VCS kümmern und stattdessen ihre Zeit mit ihrer Hauptaufgabe verbringen: der Softwareentwicklung. Mercurial erlaubt es den Nutzern, das System zu verwenden und fröhlich zu missbrauchen, ohne dass sie nicht wiederherstellbare Fehler machen können.
Ein professionelles Tool muss mit einer übersichtlichen und intuitiven CLI ausgestattet sein. Mercurial-Benutzer können die meiste Arbeit mit einfachen Befehlen ohne seltsame Optionen erledigen. In Git double dash sind verrückte Optionen die Norm. Mercurial hat einen wesentlichen Vorteil, wenn Sie eine CLI-Person sind (und um ehrlich zu sein, sollte das jeder Software-Ingenieur sein, der etwas auf sich hält).
Ein Beispiel: Nehmen wir an, Sie führen versehentlich eine Übertragung durch. Sie haben vergessen, einige Dateien zu bearbeiten. Um Ihre Aktion in Mercurial rückgängig zu machen, geben Sie einfach ein:
$ hg rollback
Sie erhalten dann eine Meldung, dass das System Ihre letzte Transaktion rückgängig macht.
In Git müssen Sie tippen:
$ git reset --soft HEAD^
Sie können sich also vorstellen, worum es beim Zurücksetzen geht. Aber außerdem müssen Sie wissen, was "-soft" und "-hard" Resets sind (haben Sie eine Ahnung?). Oh, und natürlich darfst du das '^'-Zeichen am Ende nicht vergessen! (was in Ritchies Namen ist das denn nun...)
Die Integration von Mercurial mit Drittanbieter-Tools wie kdiff3 und meld ist ebenfalls viel besser. Erzeugen Sie Ihre Patches und fügen Sie Ihre Zweige ohne viel Aufhebens zusammen. Mercurial enthält auch einen einfachen http-Server, den Sie durch Eingabe von
hg serve
Und lassen Sie andere Ihr Repository durchsuchen.
Unterm Strich tut Git das, was Mercurial tut, nur auf viel kompliziertere Weise und mit einer weitaus schlechteren CLI. Verwenden Sie Git, wenn Sie das VCS Ihres Projekts in ein wissenschaftliches Forschungsgebiet verwandeln wollen. Verwenden Sie Mercurial, wenn Sie das VCS erledigen wollen, ohne sich groß darum zu kümmern, und sich auf Ihre eigentlichen Aufgaben konzentrieren wollen.