Mercurial
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden.
| |
|---|---|
| colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Datei:Mercurial logo.svg | |
| Basisdaten
| |
| Maintainer | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Entwickler | Matt Mackall u. v. a. |
| Erscheinungsjahr | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Aktuelle Version | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Aktuelle Vorabversion | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Betriebssystem | Linux, macOS, Windows etc. |
| Programmiersprache | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Kategorie | Versionsverwaltung |
| Lizenz | GPLv2+<ref>License</ref> (Freie Software) |
| deutschsprachig | ja |
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden. | |
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.<ref>Matt Mackall, Towards a Better SCM: Revlog and Mercurial (PDF; 118 kB), Ottawa Linux Symposium Proceedings, 2006.</ref> Mercurial kann über die Kommandozeile benutzt werden. Alle Kommandos beginnen mit „hg“, dem Elementsymbol von Quecksilber (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.).
Entwicklungsschwerpunkte von Mercurial sind Effizienz, Skalierbarkeit und robuste Handhabung von Text- und Binärdateien. Bei Mercurial wird 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, Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. genannt.
Die Fähigkeit, Entwicklungszweige zu erstellen und zusammenzuführen (engl.: „Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.“ und „Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.“), 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.
Geschichte[Bearbeiten]
Am 19. April 2005 wurde Mercurial von Matt Mackall auf der Linux-Kernel-Mailingliste angekündigt.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> 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,<ref>siehe Versionsverwaltungssystem des Linux-Kernels</ref> allerdings gibt es auch Kernel-Entwickler, die Mercurial einsetzen.<ref>siehe beispielsweise Versionsverwaltungssystem des LinuxTV-Projekts</ref>
Verbreitung[Bearbeiten]
Mercurial wird von einigen bekannten Software-Projekten und Firmen eingesetzt. Unter anderem findet es Einsatz bei Facebook,<ref>Scaling Mercurial at Facebook</ref> Mozilla (Firefox, Thunderbird),<ref><templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden.</ref><ref><templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackVorlage:Webarchiv/archiv-botSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden.</ref><ref><templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackVorlage:Webarchiv/archiv-botSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden.</ref> SourceForge,<ref><templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackVorlage:Webarchiv/archiv-botSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden.</ref><ref><templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackVorlage:Webarchiv/archiv-botSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden.</ref> NetBeans IDE<ref>NetBeans (hg) Repo</ref> und Dovecot<ref><templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackVorlage:Webarchiv/archiv-botSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden.</ref>.
Grafische Oberflächen[Bearbeiten]
Für Microsoft Windows und Gnome/Nautilus steht mit der grafischen Oberfläche TortoiseHg, und macOS 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, Android Studio, Delphi oder der Qt Creator unterstützen Mercurial direkt aus der grafischen Oberfläche, in der Regel durch ein Plug-in, welches entweder mitgeliefert oder nachträglich installiert wird. MercurialEclipse erlaubt dabei auch das Arbeiten mit Patch Queues (mq).
Siehe auch[Bearbeiten]
- Apache Subversion (svn)
- Bazaar
- BitKeeper
- Git
Weblinks[Bearbeiten]
Vorlage:Wikidata-Registrierung
- Alte Mercurial-Homepage
- Mercurial: The Definitive Guide by Bryan O'Sullivan
- Mercurial Distributed SCM - Die verteilte Alternative zu CVS
Einzelnachweise[Bearbeiten]
<references />