[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Packprogramme: Archive entpacken] [:Programme_kompilieren: Pakete aus dem Quelltext installieren] [:Paketquellen_freischalten/PPA: Verwenden eines PPAs] optional [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./mercurial_logo.png, 48, align=left)]] [http://www.selenic.com/mercurial/wiki/ Mercurial] {en} ist ein robustes und schnelles Versionsverwaltungssystem, welches in [:Python:] geschrieben ist und beispielsweise von den Entwickler-Teams von [http://moinmo.in MoinMoin] {en} und [http://mozilla.org/ Mozilla] {en} verwendet wird. Praktisch ist auch die graphische Shell-Erweiterung [https://tortoisehg.bitbucket.io/de/ TortoiseHg] für [:Nautilus:]. = Installation = Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation mercurial, universe }}} Man kann auch gleich den graphischen Client für Nautilus installieren [1], damit wird Mercurial automatisch mit installiert: {{{#!vorlage Paketinstallation tortoisehg tortoisehg-nautilus, universe }}} == PPA == Für die aktuelle Mercurial-Version kann ein "Personal Package Archiv (PPA)" [4] genutzt werden. [[Vorlage(PPA, mercurial-ppa/releases, ppa)]] Nach dem Aktualisieren der Paketquellen kann das folgende Paket installiert werden: {{{#!vorlage Paketinstallation mercurial, ppa }}} == Snapshot installieren == Alternativ kann man den Stable oder Development Snapshot direkt von der Entwicklerseite beziehen. Dafür sind jedoch folgende Pakete benötigt: {{{#!vorlage Paketinstallation python-dev build-essential python-docutils }}} Nach erfolgreichem [http://selenic.com/repo/hg-stable/archive/tip.tar.gz Download] {en} entpackt[2] man das heruntergeladene Archiv und kompiliert[3] mit folgendem Befehl[4]: {{{#!vorlage Befehl make all # um Programm und Dokumentation zu installieren, andere Optionen unter "make" }}} Jetzt führt man noch den Befehl {{{#!vorlage Befehl hg debuginstall }}} aus, damit die '''~/.hgrc''' usw. erzeugt wird. = Benutzung = {{{#!vorlage Hinweis Alle Kommandos in Mercurial beginnen mit '''hg''', da dies das chemische Symbol für Quecksilber (engl. mercury) ist. }}} Ein guter Einstieg ist unter [http://www.selenic.com/mercurial/wiki/index.cgi/QuickStartDe Schnellstart] {de} zu finden. Außerdem lohnt sich ein Blick auf die verschiedenen [http://www.ivy.fr/mercurial/ref/v1.0/ QuickReferenceCards] {en}. == Einrichtung == Zuerst sollte man mindestens den Benutzernamen hinterlegen. Dazu wird folgendes in die '''~/.hgrc''' eingetragen: {{{ [ui] username = BENUTZERNAME }}} Sollte man mit großen Repositories arbeiten, empfiehlt es sich die `progress` Erweiterung zu aktivieren: {{{ [extensions] progress = }}} Damit wird bei länger andauernden Operationen (ab 3 Sekunden) ein Fortschrittsbalken angezeigt. == hgignore == Möchte man Dateien von der Versionsverwaltung ausschließen, so kann dies mit der '''.hgignore'''-Datei gesteuert. Diese muss im root Verzeichnis des jeweiligen Repositories angelegt werden. {{{ # glob syntax. syntax: glob *.user *.pyo *.pyc *~ # regexp syntax. syntax: regexp ?\.class }}} == Befehle == Hier eine kurze Übersicht über die wichtigsten Befehle: {{{#!vorlage Tabelle Befehl Beschreibung +++ `hg help` Liste der Befehle +++ `hg clone URL ORDNER` Holt eine Kopie des Projektes auf `URL` in `ORDNER` +++ `cd projekt && hg init` Erstellt ein neues Mercurial-Projekt +++ `hg add DATEI` Fügt dem Projekte die Datei `DATEI` hinzu +++ `hg commit` Änderungen übergeben +++ `hg serve -n "Mein repo" -p 80` exportiert die Quelle `Mein repo` in eine Schnittstelle für Webbrowser +++ `hg push ssh://user@example.com/~/hg/` schiebt Änderungen in eine entfernte Quelle mit [:SSH:] +++ `cp hgwebdir.cgi ~/public_html/hg/index.cgi` Setzt einen CGI-Server auf. Einstellungen können in `~/public_html/hg/index.cgi` festgelegt werden. }}} = Links = * [http://www.selenic.com/mercurial/wiki/ Projektseite] {en} * [http://www.selenic.com/mercurial/wiki/index.cgi/ProjectsUsingMercurial Projects using Mercurial] {en} * [wikipedia:TortoiseHg:] - grafischer Client für Windows und Linux, ähnlich TortoiseSVN * [http://inqbus-hosting.de/support/dokumentation/docs/mercurial-vcs-einfuehrung Mercurial VCS: Einführung] {de} - Einführung in die Benutzung von Mercurial * [http://www.hginit.com Hg Init: a Mercurial tutorial] {en} - umfangreiche und leicht verständliche Einführung in die Benutzung von Mercurial * [http://mercurial.aragost.com/kick-start/en/ Mercurial Kick Start] {en} # tag: Versionsverwaltung, Python