= Mercurial =
Mercurial ist ein dezentrales Versionskontrollsystem (VersionsVerwaltung). Es ist unter http://www.selenic.com/mercurial/wiki/ zu finden. Die Standard-Dokumentation ist auf http://hgbook.red-bean.com/read/ zu finden.
* Auf der Seite [SwingApplikation.Projektumgebung] steht ein bisschen was allgemeines zu dezentralen Versionskontrollsystemen und zu Mercurial von ThomasBayen.
* Eine Seite zu einem MercurialVersionControlServer hat JensKapitza geschrieben.
* Laut [Vergleich Mercurial vs. GIT|http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/] scheint mir Mercurial, momentan in der [Version 1.3|http://www.linux-community.de/Internal/Nachrichten/Neue-Version-1.3-von-Mercurial-unterstuetzt-Sub-Repositories], hier die passende Wahl zu sein. --MarkusMonderkamp
* Eine deutsche Erklärung zu Mercurial: http://intevation.net/~thomas/mercurial-lt2006/#id2452004 -- ThomasThiessen
== einige Mercurial-Befehle ==
hg clone ssh://username@hg.javaproject.de/../groups/mercurial/repos/meinprojekt meinprojekt
Holt das angegebene Repository vom angegebenen Server. Es entsteht ein neues
Verzeichnis "meinprojekt", in dem man dann arbeiten kann.
Die weiteren Befehle innerhalb des Repositories ausführen:
hg status
Zeigt von mir selber geänderte Dateien (vorne 'M') und neue Dateien (vorne '?') an.
hg add
Nimmt alle neue Dateien in die Versionsverwaltung auf. Beachtet dabei
die Filter-Einstellungen in ".hgignore".
hg commit -m "texttexttext"
Schreibt alle Änderungen in das lokale Repository.
hg outgoing ssh://tbayen@hg.javaproject.de/../groups/mercurial/repos/meinprojekt
Zeigt die ausgehenden Unterschiede zwischen dem Repository auf dem Server
und meinem eigenen Repository (d.h. dem ,was ich mit commit auch eingecheckt
habe) an.
hg incoming ssh://tbayen@hg.javaproject.de/../groups/mercurial/repos/meinprojekt
Wie outgoing, zeigt aber die neuen Änderungen auf dem Server an.
Diesen Befehl wieder eine Verzeichnisebene oberhalb des Repositories ausführen:
hg push ssh://username@hg.javaproject.de/../groups/mercurial/repos/meinprojekt
schreibt alle Änderungen aus dem lokalen Repository in das entfernte Repository
auf dem Server hg.javaproject.de, auf dem ich einen SSH-Zugang habe. Ist das das
Repository, von dem ich mich geklont habe (der häufigste Fall), so reicht es, im
Arbeitsverzeichnis zu bleiben und
hg push
zu schreiben.
Man sollte übrigens vor dem push immer sicher sein, daß sich das Repository nicht inzwischen geändert hat. Das kann man mit "incoming" prüfen und, falls es eine Änderung gibt, ggf. vorher ein "pull" und "update", ggf. gefolgt von einem "merge" und "commit" machen. Bevor man Fremde Daten in sein Repository holt, ist natürlich ein "clone" als Kopie immer eine gute Idee.
----
[{Tag VersionsVerwaltung}]