AA_branch_sabaca_sxc_660704.jpg

© Sabaca, sxc.hu

Mit Mercurial Dateien verwalten

Auf den Zweig gekommen

Die Versionsverwaltung Mercurial ermöglicht es, beim Programmieren mit Ideen zu spielen und Neues auszuprobieren, ohne hart erarbeitete Ergebnisse zu verlieren.

Bevor ein Bash-Skript genau das ausführt, was sein Ersteller wünscht, braucht es in der Regel einige Überarbeitungen. Damit die Zwischenschritte nicht verloren gehen, speichern viele Programmierer und Autoren die jeweils letzte Version unter einem eigenen Dateinamen.

So sammeln sich dann screenshot1.sh, screenshot2.sh und so weiter auf der Festplatte. Nicht nur die vielen Dateien stellen dabei ein Problem dar: Spätestens nach einer Woche weiß selbst der hartgesottenste Eidetiker nicht mehr, was genau denn nun screenshot2.sh von der Vorversion unterscheidet.

Hier schafft die Versionsverwaltung Mercurial Abhilfe. Sie lässt sich einfach bedienen, ist in der Praxis vielfach erprobt und bietet zahlreiche Funktionen. Im Gegensatz zu vielen anderen Programmen dieser Art setzt Mercurial kein zentrales Repository voraus. Das hindert trotzdem weitere Helfer nicht daran, ganz einfach am Projekt mitzuarbeiten: Wenn es gar nicht anders geht, schicken sich die Beteiligten die Änderungen ganz einfach per Mail.

Installation

Alle größeren Distributionen bieten Mercurial in ihren Paketquellen an. In der Regel heißt das passende Paket einfach mercurial. Unter Ubuntu 13.10 spielen Sie es mittels des folgenden Kommandos ein:

$ sudo apt-get install mercurial

Anschließend erstellen Sie mit einem Texteditor die zugehörige Konfigurationsdatei ~/.hgrc und legen in dieser einen Abschnitt [ui] nach dem Strickmuster aus Listing 1 an. Damit kennt die Software Ihre Daten, ohne diese verweigert es sonst den Dienst.

Listing 1

[ui]
username = Max Mustermann <max@mustermann.de>

Um die Änderungen an den zu versionierenden Dateien aufzuzeichnen, müssen Sie zunächst in Ihrem Home-Verzeichnis eine entsprechende Lagerstätte einrichten. In den folgenden Beispielen benutzen wir dazu das Arbeitsverzeichnis skripte:

$ mkdir skripte
$ cd skripte
$ hg init

Falls Sie sich nun fragen, warum das Binary eines Programms namens Mercurial hg heißt: Mercurial ist das englische Wort für Quecksilber, und dessen chemisches Symbol lautet Hg (griech.: Hydrargyros, "flüssiges Silber"). Statt manuell legen Sie bei Bedarf ein Arbeitsverzeichnis auch direkt mit Mercurial an:

$ hg init skripte

In jedem Fall erstellt Mercurial im Arbeitsverzeichnis ein verstecktes Unterverzeichnis namens .hg. In diesem sogenannten Repository lagern zukünftig nicht nur alle Änderungen, sondern zusätzlich auch einige weitere Informationen, darunter das Datum für jede Änderung und eine kurze Beschreibung. Das Arbeitsverzeichnis enthält ab sofort immer die aktuellen Fassungen der versionierten Dateien.

Während Sie an den Dateien in Ihrem Arbeitsverzeichnis nach Lust und Laune Änderungen vornehmen dürfen, sollten Sie das Verzeichnis .hg weder verändern noch löschen. Andernfalls laufen Sie Gefahr, alle älteren Versionen Ihrer Dateien zu zerstören oder zu verlieren.

Aufnahmeprüfung

Vielleicht möchten Sie nicht alle Dateien im Arbeitsverzeichnis mit Mercurial überwachen – etwa, wenn ein Bash-Skript seine Zwischenergebnisse in größeren temporären Dateien ablegt. Damit sich Mercurial an solchen Daten nicht unnötig abarbeitet, geben Sie explizit an, welche Files Sie mit Mercurial im Auge behalten möchten:

$ hg add screenshot.sh readme.txt

Damit beachtet das Programm ab sofort die beiden angegebenen Dateien. Möchten Sie tatsächlich sämtliche Dateien versionieren, stellen Sie mit hg add alle auf einmal unter die Fuchtel der Versionsverwaltung (Abbildung 1). Mercurial notiert sich dabei allerdings nur die Dateien, die zu diesem Zeitpunkt im Verzeichnis liegen. Kommt später eine weitere hinzu, müssen Sie diese nachträglich mit hg add Datei hinzufügen.

Abbildung 1: Möchten Sie die Dateien in einem Verzeichnis beobachten, wechseln Sie in dieses, erstellen darin ein Repository und melden dann alle Dateien bei der Versionsverwaltung an.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 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

  • 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.
  • Neue Version 1.3 von Mercurial unterstützt Sub-Repositories
    Das Mercurial-Projekt hat Version 1.3 seiner freien Software zur Versionskontrolle veröffentlicht. Als experimentelles Feature führt die Release Sub-Repositories ein.
  • Managelogs 2.0.0 mit neuem Build-Prozess und Mercurial-Repo
    Das Programm Managelogs verwaltet die beim Apache-Webserver anfallenden Protokolldateien. In der jetzt verfügbaren Version 2.0.0 haben die Entwickler den Build-Prozess umgestellt.
  • Richtig gerüstet
    Wer sich mit dem Programmieren beschäftigt, sieht sich rasch mit einer Vielzahl von Tools konfrontiert. Wir helfen bei der Auswahl der richtigen Werkzeuge.
  • Im Gleichklang
    Fossil vereint Versionskontrolle, Wiki und Bugtracker zum Rundum-Wohlfühl-Paket für Software-Entwickler.
Kommentare

Infos zur Publikation

LU 09/2017 PERFEKTE FOTOS

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

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

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes 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 -...