- Mercurial
-
Mercurial Entwickler Matt Mackall, u. v. a. Aktuelle Version 2.0
(1. November 2011)Betriebssystem Linux, Mac OS X, Windows etc. Programmiersprache Python, C Kategorie Versionsverwaltung Lizenz GPLv2+[1] (Freie Software) Deutschsprachig ja http://mercurial.selenic.com Mercurial ist ein plattformunabhängiges, verteiltes Versionskontrollsystem zur Software-Entwicklung. Es wird nahezu vollständig in Python entwickelt: lediglich eine diff-Implementierung, die mit binären Dateien umgehen kann, ist in C umgesetzt.[2] Mercurial wird primär über die Kommandozeile benutzt; alle Kommandos beginnen mit „hg“, dem Elementsymbol 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 SVN) 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. Eine integrierte Web-Schnittstelle steht zur Verfügung; Drittanbieter stellen grafische Frontends oder Plugins für Entwicklungsumgebungen zur Verfügung.
Inhaltsverzeichnis
Geschichte
Am 19. April 2005 wurde Mercurial von Matt Mackall auf der Linux-Kernel-Mailingliste angekündigt.[3] Ausschlaggebend war die Ankündigung der Firma BitMover, die z. B. für den Linux-Kernel als Versionskontrollsystem eingesetzte Software BitKeeper nicht mehr in einer kostenlosen Version bereitzustellen. Ungefähr zur gleichen Zeit hatte Linus Torvalds damit begonnen, ein eigenes Projekt namens Git zu starten, welches ähnliche Ziele verfolgt wie Mercurial.
Offiziell wird für den Linux-Kernel Git benutzt,[4] allerdings gibt es auch Kernel-Entwickler, die Mercurial einsetzen.[5][6]
Verbreitung
Mercurial wird von vielen bekannten Software-Projekten und Firmen eingesetzt. Unter anderem findet es Einsatz bei Mozilla (Firefox, Thunderbird),[7][8][9] SourceForge,[10][11] Google Inc. (Google Chrome, Google Code[12]), Microsoft (CodePlex[13]), Oracle (OpenOffice.org,[14][15] OpenSolaris,[16] Illumos,[17] OpenJDK,[18][19]), Xen,[20] NetBeans IDE[21] und Python.[22][23]
Grafische Frontends
Für Microsoft Windows und Gnome/Nautilus steht mit der grafischen Oberfläche TortoiseHg, und Mac OS X mit MacHg und Murky, ein jeweils einfach zu bedienendes Frontend zur Verfügung, das die Benutzung von Mercurial ohne Kommandozeilenbefehle erlaubt.
Verschiedene Integrierte Entwicklungsumgebungen wie Netbeans, Eclipse oder der Qt Creator unterstützen Mercurial direkt aus dem User-Interface, in der Regel durch ein Plugin, welches entweder mitgeliefert oder nachträglich installiert wird. MercurialEclipse erlaubt dabei auch das Arbeiten mit Patch Queues (mq).
Siehe auch
Einzelnachweise
- ↑ License FAQ. In: Mercurial Wiki. 20. Januar 2010, abgerufen am 5. April 2010.
- ↑ Matt Mackall, Towards a Better SCM: Revlog and Mercurial, Ottawa Linux Symposium Proceedings, 2006.
- ↑ Mercurial v0.1 – a minimal scalable distributed SCM
- ↑ siehe Versionsverwaltungssystem des Linux-Kernels
- ↑ siehe beispielsweise Versionsverwaltungssystem des LinuxTV-Projekts
- ↑ Linux Mercurial Repository
- ↑ Mozillazine Version Control System Shootout Redux Redux (en)
- ↑ Working with Mozilla source code (en)
- ↑ Mozilla (hg) Repo
- ↑ Mercurial – sourceforge
- ↑ Forge / documentation / Mercurial - Beta
- ↑ David Baum: Mercurial Support for Project Hosting on Google Code. In: The Google Code Blog. 24. April 2009, abgerufen am 26. Januar 2010.
- ↑ CodePlex now supporting native Mercurial (en)
- ↑ OpenOffice.org development switches to Mercurial (en)
- ↑ Mercurial - OpenOffice.org Wiki (en)
- ↑ Source Code Management for OpenSolaris (en)
- ↑ Mercurial Gateway des Illumos Projektes
- ↑ OpenJDK Mercurial Transition Final Update (en)
- ↑ OpenJDK (hg) Repo
- ↑ XenSource: Xen Distribution mercurial (hg) Repositories Browser (en)
- ↑ NetBeans (hg) Repo
- ↑ Migrating from svn to Mercurial (en)
- ↑ Python Repo index
Weblinks
- Mercurial-Homepage
- Mercurial: The Definitive Guide by Bryan O'Sullivan
- Mercurial Project – Vortrag von Bryan O’Sullivan am 19. Juni 2006 (Google Video) (Englisch)
- Mercurial Distributed SCM - Die verteilte Alternative zu CVS
- TortoiseHg, ein grafisches Mercurial-Frontend für Windows
- MacHg, ein grafisches Mercurial-Frontend für Mac OS X
Kategorien:- Freie Versionsverwaltungssoftware
- Repository
Wikimedia Foundation.