Verteilte Versionsverwaltung

Ein Vergleich von Darcs, Git, Mercurial und Bazaar
von Jan Schütze

[zurück] ... [Übersicht] ... [vor]

Mercurial

Mercurial wurde etwa zur selben Zeit (2005) mit ähnlicher Motivation wie Git von Matt Mackall entwickelt. Geschrieben wurde Mercurial in Python, lediglich die diff-Komponente ist in C geschrieben. Mercurial arbeitet mit einem Change Set Konzept, d.h. es werden die Änderungen an Dateien gegenüber der vorherigen Version gespeichert und nicht die neue Datei als Ganzes. Dadurch werden neue Entwicklungszweige einfach durch das Klonen eines vorhandenen Zweiges erstellt und am Ende wiederzusammengefügt. Mercurial besitzt keine eigene Möglichkeit zur Bearbeitung von Konflikten, die beim Mergen auftreten können und ist daher auf fremde Software (z.B. kdiff3) angewiesen.

Bekannte Projekte die auf Mercurial setzen sind unter anderem Mozilla, Sun (NetBeans, OpenJDK, OpenSolaris). Der Zugriff auf entfernte Repositorys kann auch hier mittels gängiger Netzwerkprotokolle erfolgen.

Verfügbarkeit

Für alle gängigen Betriebssysteme sind entsprechende Versionen vorhanden, oftmals auch Grafische Oberflächen. Mercurial bietet bereits ein internes Webinterface, auch Plugins für Eclipse, Netbeans sowie Visual Studio werden angeboten. Zum Verbreiten eigener Projekte gibt es außerdem auch hier Hostingdienste (z.B. Bitbucket). Für Umsteiger bietet Mercurial Konvertierungsmöglichkeiten von diversen anderen Versionsverwaltungen.

Grundlegende Kommandos

Aktion Kommando
initialisieren hg init
Update hg update
Datei hinzufügen hg add
Datei löschen hg remove
Commit hg commit
Pull hg pull
Push hg push
Merge hg merge
Clone erzeugen hg clone
Aktuelle Änderungen hg diff
Änderungsgeschichte hg log


Nach oben

[zurück] ... [Übersicht] ... [vor]