Wie schneidet Mercurial im Vergleich zu GIT und SVN ab?

Lesezeit: 4 Minuten

Benutzer-Avatar
Phil.Wheeler

Mit Phil Haack und anderen, die kürzlich darüber getwittert haben Der Schritt von CodePlex zur Unterstützung von Mercurial als DVCS dachte ich mir, es wäre vielleicht einen Blick wert.

Als jemand, der derzeit SVN für persönliche Projekte und TFS bei The Office verwendet, wie schneidet Mercurial in Bezug auf Benutzerfreundlichkeit und Funktionen ab und was sind einige der besseren verfügbaren Hosting-Services von Mercurial?

  • Dies sollte ein ‘git’-Tag haben.

    – Tschad Okere

    24. Januar 2010 um 8:51 Uhr

  • @Chad Okere – fair genug. Fertig.

    – Phil.Wheeler

    24. Januar 2010 um 9:00 Uhr

  • Es gibt nicht genug Tags, um diese SO-Frage vollständig zu beschreiben! D:

    – Sprich

    24. Januar 2010 um 9:03 Uhr

  • Das Wunderbare an jedem DVCS ist, dass Sie jede Art von kollaborativem Workflow reproduzieren können, einschließlich der Nachahmung von “zentralisierten” Repositories. Ich bin voreingenommen, weil ich hauptsächlich Mercurial verwende, aber ich habe in der Vergangenheit auch ausgiebig CVS und SVN verwendet, und ehrlich gesagt fühlen sich alte VCS im Vergleich zu DVCS wie Steinzeit an. Sie werden immer mehr Projekte sehen, die zu {Git,Bazaar,Mercurial} wechseln. Sobald Sie ein DVCS ausprobiert haben, kehren Sie nicht zu SVN zurück 😉

    – SyntaxT3rr0r

    25. Januar 2010 um 15:59 Uhr

Was den Vergleich zu Git betrifft, hat Google kürzlich einen interessanten Vergleich von Git und Mercurial basierend auf deren Bewertung veröffentlicht: http://code.google.com/p/support/wiki/DVCSAnalysis

  • Perfekt. Das hat alles, was ich brauche. Danke für den Tipp, @Dave Ward.

    – Phil.Wheeler

    24. Januar 2010 um 8:25 Uhr

  • Beachten Sie, dass diese Analyse veraltet ist, zum Beispiel hat Git vor nicht allzu langer Zeit Unterstützung für “intelligenten” HTTP-Transport erhalten.

    – Jakub Narębski

    24. Januar 2010 um 18:24 Uhr

  • Einiges mehr ist veraltet: Mercurial hat jetzt auch eine Rebase (kein Git-Vorteil mehr); git-gc ist jetzt etwas automatisch (kein bedeutender hg-Vorteil mehr) und die Windows-Unterstützung ist weniger schrecklich (nicht wirklich sicher, ob dies immer noch ein hg-Vorteil ist). Und natürlich hat Microsoft seine Absicht angekündigt, Git-Unterstützung in seine TFS-Linie zu integrieren.

    – Eamon Nerbonne

    28. Februar 2013 um 13:56 Uhr


Im Vergleich zu SVN, mit dem ich vor kurzem nach einer ganzen Weile wieder gearbeitet habe, ist Mercurial erstaunlich. Es gab mir ein Gefühl von “Warum sollte irgendjemand SVN noch benutzen”. SVN ist ziemlich gut, aber Mercurial funktioniert wirklich einfach besser.

Für private Projekte würde ich ohne Zweifel auf ein DVCS umsteigen. Es tut alles, was SVN tut, aber besser und viel schneller. Die „Lernkurve“ besteht lediglich darin, einige Fachausdrücke zu verstehen.

In Wirklichkeit besteht der Unterschied zwischen SVN und einem DVCS darin, dass jeder ein voll funktionsfähiges Repository auf seinem System hat. Wenn Sie sich für einen “Master-Server” entscheiden, ist dieser genau derselbe wie der, den Sie haben, außer dass er so eingerichtet ist, dass er kontinuierlich über ein Netzwerk dient. Um diese zu synchronisieren, müssen Sie lediglich die Änderungen zwischen diesen Repositories senden/empfangen (push/pull).

Benutzer-Avatar
Jakub Narębski

Über den Vergleich von Mercurial mit Git – siehe diese SO-Frage: Git and Mercurial – Compare and Contrast (und meine lange Antwort dort).

Über den Vergleich von Mercurial mit svn – siehe diese SO-Frage: Können Mercurial oder Git (oder andere DVCS) für Heimprojekte mehr Vorteile gegenüber Subversion bieten? (Theoretisch ist diese Frage jedoch in ihrer Reichweite begrenzt; ich habe in meiner Antwort über Git vs. Subversion geschrieben).

Eine Sache, die im Google-Vergleich nicht erwähnt wurde, war, dass Git viel schneller zu sein scheint. Mercurial scheint schnell genug zu sein (zumindest bei kleinen Projekten), aber Git ist einfach blitzschnell, egal wie groß das Projekt ist.

Das liegt wahrscheinlich nur an mir, aber ich benutze Mercurial seit sechs Monaten, nachdem ich mehrere Jahre ausschließlich SVN verwendet habe, und aus irgendeinem Grund passt es auch einfach nicht zu meinem mentalen Modell. Ich weiß genau, was ich in SVN mache, und wenn etwas schief geht, weiß ich so ziemlich immer, wie ich es beheben kann. Konzeptionell habe ich kein Problem mit Mercurial – ich liebe zum Beispiel, dass ich eine lokale Kopie des Repositorys habe – aber in der Praxis verliere ich immer Dinge. Ich denke, es könnte daran liegen, dass eine Zusammenführung in SVN eine ziemlich große Sache ist, während es in Hg der normale Lauf der Dinge ist. Ich möchte mehr Kontrolle über meine Zusammenführungen. In SVN ist immer klar, welches Changeset welchem ​​vorangeht, aber Mercurial scheint dies zu fehlen. Selbst TortoiseHg, das optisch ganz nett ist, scheint nicht genug Möglichkeiten zu bieten, um genau zu sehen, was zusammengeführt wird.

Benutzer-Avatar
Ian Ringrose

SVN hat viel Unterstützung durch Tools von Drittanbietern, einschließlich IDE- und Fehlerverfolgungssystemen usw., einschließlich der ziemlich netten TortoiseSVN.

Die meisten Entwickler haben in der Vergangenheit SVN verwendet, sodass Sie mit SVN schneller neue Entwickler in Ihr Team einarbeiten können.

Wie wichtig dir so etwas ist, kannst nur du entscheiden.

1073550cookie-checkWie schneidet Mercurial im Vergleich zu GIT und SVN ab?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy