Mercurial (hg) verwaltet Versionen

Vorher und nachher

Wer Textdateien, wie etwa Konfigurations-, Programmquellcode- oder Skriptdateien, regelmäßig überarbeitet, sollte eine Versionsverwaltung nutzen, um auch auf alte Versionen zurückgreifen zu können: Dann bleiben Fehler beim Überarbeiten folgenlos.

Stellen Sie sich folgendes Szenario vor: Sie folgen einer Anleitung aus dem Internet und ändern mit Root-Rechten eine der Konfigurationsdateien im Ordner /etc – doch nach der Änderung funktioniert die zugehörige Software nicht mehr wie gewünscht. Die Rückkehr zur alten Fassung ist aber versperrt, denn Sie haben vergessen, eine Sicherheitskopie zu erstellen.

Das ist noch nicht direkt ein Beispiel, in dem sich der Einsatz einer Versionsverwaltung lohnt – bleibt die Änderung ein einmaliger Vorgang, reicht es aus, eine Backup-Kopie zu erstellen (z. B. mit cp datei datei.bak). Doch wenn Sie an einigen Dateien häufiger Änderungen vornehmen, möchten Sie sich vielleicht die Möglichkeit bewahren, zu beliebigen älteren Fassungen der Datei zurückkehren zu können. Auch das geht manuell, etwa in dem Sie Kopien erstellen, welche das Dateidatum integrieren (datei.2014-12-01, datei.2014-12-24 etc.). Ab jetzt ist es sinnvoller, ein Tool einzusetzen, das speziell für das Verwalten verschiedener Dateiversionen geschaffen wurde – zum Beispiel Subversion [1] und ein KDE-GUI-Tool, das wir in einem älteren Artikel beschrieben haben [2] – oder auf der Kommandozeile das Programm Mercurial [3].

Mit Mercurial, das Sie unter OpenSuse über sudo zypper in mercurial und unter Kubuntu mit sudo apt-get install mercurial installieren, können Sie in jedem beliebigen Ordner damit beginnen, Versionen der Dateien aufzubewahren. Das Tool wird dazu einen versteckten Unterordner .hg anlegen und dort alte Versionen – genauer: Beschreibungen der Unterschiede zwischen je zwei aufeinander folgenden Versionen – und Verwaltungsinformationen ablegen.

Mercurial einrichten

Vor dem ersten Einsatz möchte Mercurial wissen, wer Sie sind: Das Tool speichert zu jeder Änderung auch Informationen über die Person, die für die neue Version verantwortlich ist, denn Dateien können auch von mehreren Anwendern überarbeitet werden. So sieht man später auf einen Blick, wer was geändert hat.

Um Ihren Namen zu erfassen, verwenden Sie den Mercurial-Befehl hg (benannt nach dem chemischen Element Quecksilber, englisch: Mercury, Symbol: Hg) wie folgt:

hg config --edit

Das Tool fragt nun eventuell, welchen Editor Sie nutzen wollen; geben Sie die Ziffer ein, die zum gewünschten Programm passt. Dann ergänzen Sie hinter username Ihren Namen und die Mail-Adresse (Abbildung 1). Die Einstellungen speichert Mercurial in der Datei .hgrc in Ihrem Home-Verzeichnis.

Abbildung 1: Geben Sie einmalig Ihren Namen und eine Mail-Adresse an, um Mercurial zu personalisieren.

Nun ist das Programm bereit zum Verwalten von Dateiversionen. Wechseln Sie in einen Ordner, der Dateien enthält, mit denen Sie dies ausprobieren möchten; für erste Tests können Sie auch einen Unterordner test anlegen und ein paar Dateien hinein kopieren.

Verzeichnis initialisieren

In jedem Ordner, den Sie unter die Verwaltung von Mercurial stellen möchten, geben Sie zunächst das Kommando

hg init

ein. Das Tool legt dann einen versteckten Unterordner .hg/ an und ist ab sofort bereit, Versionen von Dateien in diesem Ordner zu verwalten. Dabei ignoriert es aber zunächst sämtliche im Ordner liegenden Dateien – Sie müssen diese manuell mit hg add hinzufügen. Liegen im aktuellen Verzeichnis z. B. datei1.txt, datei2.txt und datei3.txt und möchten Sie die ersten beiden Dateien über Mercurial verwalten, geben Sie

hg add datei1.txt datei2.txt

ein. Mit hg status erhalten Sie eine Übersicht zu den Dateien im Ordner:

$ hg status
A datei1.txt
A datei2.txt
? datei3.txt

Das "A" steht jeweils dafür, dass die Datei hinzugefügt (aber noch nie gesichert) wurde, das Fragezeichen bedeutet, dass Mercurial diese Datei ignoriert.

Tatsächlich haben Sie damit nicht nur für den aktuellen Ordner, sondern auch für alle schon vorhandenen und künftigen Unterordner festgelegt, dass diese zusammen ein "Repository" bilden, dessen "Repository-Wurzelverzeichnis" der aktuelle Ordner ist. Unterordner werden nur dann von Mercurial verwaltet, wenn Sie diese mit hg add (wie oben für einzelne Dateien) aufnehmen; in dem Fall fügt das Tool aber rekursiv alle enthaltenen Dateien und weiteren Unterordner hinzu.

In Unterordnern, die bereits zu einem Repository gehören, sollten Sie darum in der Regel nicht hg init ausführen – das ist zwar möglich, kann aber zu Verwirrung führen, weil dieser Unterordner dann ein neues Repository bildet und nicht mehr vom ursprünglichen Repository mitverwaltet wird.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

EL 08-10/2017: BACKUP

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet 9,80 Euro. Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 33,30 Euro. Details dazu finden Sie im Computec-Shop.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Aktuelle Fragen

kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 4 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...
WLan mit altem Notebook funktioniert nicht mehr
Stefan Jahn, 22.08.2017 15:13, 0 Antworten
Ich habe ein altes Compaq-6710b Notebook mit Linux Mint Sonya bei dem WLan neulich noch funktioni...
Würde gerne openstreetmap.de im Tor-Browser benutzen, oder zu gefährlich?
Wimpy *, 21.08.2017 13:24, 2 Antworten
Im Tor-Netzwerk (Tor-Browser) kann ich https://www.openstreetmap.de/karte.html# nicht nutzen....
Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...