Check-in

Mercurial kennt jetzt das Arbeitsverzeichnis, hat darin einen Speicherplatz für die älteren Versionen angelegt (das Repository) und weiß, welche Dateien Sie zukünftig bearbeiten wollen. Im nächsten Schritt sichern Sie den aktuellen Stand der Dateien mit folgendem Kommando:

$ hg commit

Mercurial startet daraufhin den Standard-Texteditor der Distribution, meist also Vi oder Nano (Abbildung 2). Je nach Distribution dürfen Sie sich auch einen Editor aus einer Liste aussuchen. In jedem Fall verlangt Mercurial eine kurze Beschreibung für die zu erfassende(n) Datei(en). Falls Sie darauf verzichten und den Editor einfach beenden, bricht Mercurial den kompletten Vorgang ab.

Abbildung 2: Sichern Sie den aktuellen Stand von Mercurial per Commit, verlangt das Programm nach einer Beschreibung für die Version.

Es lohnt sich, an dieser Stelle mehr zu schreiben als nur "Die erste Version" oder Ähnliches. Wenn Sie beschreiben, was Sie da überhaupt im Repository ablegen, tun Sie sich später leichter, sobald die Logfiles lang ausfallen. Alle Zeilen, die mit einem HG: beginnen, ignoriert Mercurial. Speichern Sie den Text und beenden Sie den Editor. In Nano etwa klappt das mit [Strg]+[O],[Eingabe],[Strg]+[X].

Jetzt haben Sie die Möglichkeit, weitere Änderungen an der von der Versionskontrolle überwachten Datei vorzunehmen. Die Unterschiede zur gerade eingelagerten Version listet jederzeit der Befehl hg diff auf. Die resultierenden Ausgaben entsprechen jenen des Kommandozeilenprogramms Diff: Sie erhalten die Namen der betroffenen Dateien, dann die Nummer der Zeile, die Sie verändert haben, und darunter die eigentliche Änderung (Abbildung 3).

Abbildung 3: In der Datei screenshot.sh hat sich etwas verändert.

Mercurial protokolliert Änderungen nicht von sich aus. Vielmehr bleibt es Ihnen überlassen, das Werkzeug darauf hinzuweisen, dass jetzt eine neue Version einer oder mehrerer Dateien vorliegt. Dies geschieht wiederum mit dem bekannten Befehl hg commit. Die dabei notwendige Beschreibung übergeben Sie am einfachsten mit dem Parameter -m. Mercurial verzichtet dann darauf, extra einen Editor zu öffnen:

$ hg commit -m 'Die zweite Version'

Haben Sie eine Version eingecheckt, stellen dann aber fest, dass Sie mit dieser nicht zufrieden sind, macht hg rollback die Aktion rückgängig. Das ist etwa dann nützlich, wenn Sie in der letzten Commit-Nachricht einen Tippfehler entdeckt haben.

Liegen in Ihrem Arbeitsverzeichnis mehrere Dateien, so finden Sie schnell mit hg status heraus, welche der Dateien Sie geändert haben. In der zugehörigen Ausgabe aus Abbildung 4 steht das M vor dem Dateinamen für "modified", also geändert.

Abbildung 4: Ein hg status zeigt, dass sich die Datei screenshot.sh verändert hat. Die Sicherheitskopie screenshot.sh~ hat der Texteditor angelegt. Das Fragezeichen weist darauf hin, dass diese nicht unter der Kontrolle von Mercurial steht.

Haben Sie sich bei der Arbeit einmal verzettelt, dann stellt der Befehl hg update --clean die letzte Version wieder her. Doch Vorsicht: Dabei gehen alle seit dem letzten Commit vorgenommenen Änderungen verloren. Welche älteren Versionen im Repository lagen, verrät das Kommando hg log. Sie erhalten eine Liste ähnlich der aus Abbildung 5.

Abbildung 5: Hier gab es zwei Commits, wobei Mercurial die neueste Version oben anzeigt (achten Sie auch auf die Nummerierung hinter Änderung).

Dort erfahren Sie unter anderem über Date wann die Version ins Repository gewandert ist beziehungsweise der Commit erfolgte, und wer der Autor der Änderungen war. Mit hg log --patch zeigt Mercurial zusätzlich noch die Änderungen zur jeweiligen Vorversion an.

Identifikation

Jede Version erhält zudem eine relativ kryptische Identifikationsnummer – in Abbildung 5 lautet diese 0:7427a280a3e4. Die Zahl vor dem Doppelpunkt nennt die Versionsnummer, im Mercurial-Jargon als Revision oder Changeset bezeichnet. Die Null entspricht der Ausgangsversion, dann folgt die Revision 1 und so weiter.

Mit jedem Commit erhöht sich automatisch die Revision. Um zu einer älteren Revision zurückzukehren, verwenden Sie den Befehl hg update. Nach einem hg update 0 liegt im Arbeitsverzeichnis wieder die ältere Revision 0 (Abbildung 6). Beachten Sie, dass die nachfolgenden Revisionen weiterhin im Repository enthalten bleiben. Mit hg update 1 springen Sie folglich zur nächsten Revision 1.

Abbildung 6: Hier liegt jetzt im Arbeitsverzeichnis wieder der Stand von 18:06 Uhr. Die Dateien haben also den Inhalt, den sie beim ersten Commit hatten.

Die Nummern der Revisionen erweisen sich bei der täglichen Arbeit als recht sperrig. Daher besteht die Möglichkeit, jeder Version einen beliebigen Namen, englisch: "Tag", anzuheften. Programmierer wählen meist eine individuelle Versionsnummer. Der folgende Befehl gibt der Revision 3 den Namen bluemchen:

$ hg tag -r 3 bluemchen

Zu dieser springen Sie dann ab sofort nicht mehr nur mit hg update 3, sondern auch mit hg update bluemchen. Für die letzte Version im Repository gibt es zudem den Alias-Namen tip. Mit ihm kommen Sie immer wieder schnell zur aktuellsten Version zurück.

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 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(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!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 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...