.hg

.hg
Mercurial
Entwickler: Matt Mackall, u. v. a.
Aktuelle Version: 1.2.1
(20. März 2009)
Betriebssystem: unix-artige Systeme, Microsoft Windows, Mac OS X
Kategorie: Programmierung
Lizenz: GPL
Deutschsprachig: nein
Homepage

Mercurial ist ein plattformunabhängiges, verteiltes Versionskontrollsystem zur Software-Entwicklung. Es ist bis auf eine diff-Implementierung, die mit binären Dateien umgehen kann und in C geschrieben wurde, vollständig in Python entwickelt.[1] Mercurial wird primär über die Kommandozeile benutzt, wobei alle Kommandos mit „hg“ beginnen, dem Atomsymbol von Quecksilber (engl. Mercury).

Entwicklungsschwerpunkte von Mercurial sind Effizienz, Skalierbarkeit und robuste Handhabung von Text- und Binärdateien. Während bei Versionskontrollsystemen mit zentralem Server (wie CVS oder Subversion) Dritte in der Regel nur lesenden Zugriff auf das Repository haben, wird bei Mercurial das Repository des Projektes, an dem man entwickeln will, „geklont“, also eine lokale Kopie erstellt. Auf dieser lokalen Kopie stehen dann die üblichen Funktionen zur Verfügung, beispielsweise das Erstellen neuer Revisionen, Change Set genannt.

Die Fähigkeit, Entwicklungszweige zu erstellen und zusammenzuführen (engl.: „branching“ und „merging“), ist fester Bestandteil von Mercurial. Mittels „hg serve” steht eine integrierte Web-Schnittstelle zur Verfügung.

Geschichte

Am 19. April 2005 wurde Mercurial von Matt Mackall auf der Linux-Kernel Mailingliste angekündigt.[2] Ausschlaggebend war die Ankündigung der Firma BitMover, die kostenlose Version von BitKeeper nicht mehr bereitzustellen. BitKeeper wurde seinerzeit beim Linux-Kernel als Versionskontrollsystem verwendet, aber aufgrund des Endes der kostenlosen Version hatte sich Mackall entschieden, einen Ersatz zu entwickeln. Ungefähr zur gleichen Zeit hatte Linus Torvalds damit begonnen ein ähnliches Projekt namens Git zu starten, welches ähnliche Ziele verfolgt wie Mercurial.

Offiziell wird für den Linux-Kernel Git benutzt,[3] allerdings gibt es auch Kernel-Entwickler, die Mercurial einsetzen.[4]

Quellen

  1. Matt Mackall, Towards a Better SCM: Revlog and Mercurial, Ottawa Linux Symposium Proceedings, 2006.
  2. Mercurial v0.1 – a minimal scalable distributed SCM
  3. siehe Versionsverwaltungssystem des Linux-Kernels
  4. siehe beispielsweise Versionsverwaltungssystem des LinuxTV-Projekts

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”