Zum Inhalt springen

Mercurial

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 16. Mai 2025 um 02:44 Uhr durch imported>Marsupilami (Logo gegen aktuelle Version ausgetauscht).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Mercurial

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Datei:Mercurial logo.svg
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Matt Mackall u. v. a.
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem Linux, macOS, Windows etc.
Programmier­sprache Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Kategorie Versionsverwaltung
Lizenz GPLv2+<ref>License</ref> (Freie Software)
deutschsprachig ja
Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)

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 ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)).

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, {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) genannt.

Die Fähigkeit, Entwicklungszweige zu erstellen und zusammenzuführen (engl.: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) und {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)), 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

Am 19. April 2005 wurde Mercurial von Matt Mackall auf der Linux-Kernel-Mailingliste angekündigt.<ref>Mercurial v0.1 - a minimal scalable distributed SCM. Abgerufen am 12. April 2022.</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

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" />Mozillazine Version Control System Shootout Redux Redux (en) (Memento vom 23. Februar 2008 im Internet Archive)</ref><ref><templatestyles src="Webarchiv/styles.css" />Working with Mozilla source code (en) (Memento des Vorlage:IconExternal vom 26. April 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/developer.mozilla.org</ref><ref><templatestyles src="Webarchiv/styles.css" />Mozilla (hg) Repo (Memento des Vorlage:IconExternal vom 28. März 2013 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/hg.mozilla.org</ref> SourceForge,<ref><templatestyles src="Webarchiv/styles.css" />Mercurial – sourceforge (Memento des Vorlage:IconExternal vom 6. September 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/sourceforge.net</ref><ref><templatestyles src="Webarchiv/styles.css" />Forge / documentation / Mercurial - Beta (Memento des Vorlage:IconExternal vom 23. Oktober 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/sourceforge.net</ref> NetBeans IDE<ref>NetBeans (hg) Repo</ref> und Dovecot<ref>Dovecot Mercurial Repo Index</ref>.

Datei:Mercurial commandd and their relations.png
Abbildung 1: Einige wichtige Operationen von Mercurial und ihre Beziehungen.

Grafische Oberflächen

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

Weblinks

Commons: Mercurial – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

<references />