Da ich meine Java-Anwendungen an verschiedenen Systemen entwickle, möchte ich ein Versionsverwaltung-System einsetzen.
Ich habe zu Mercurial gegriffen, ohne tiefere Studien, sondern nur, weil ich gelesen habe, dass es gut sein soll und kein eigener Server-Daemon erforderlich ist. Da ich keine großen Anforderungen habe und jederzeit auf ein anderes System wechseln kann, ist das eine vertretbarer “Auswahlprozess”.
Das “zentrale” Repository halte ich auf meinem FreeBSD-Server. Von bis zu fünf verschiedenen Betriebssystem-Installationen greife ich dann darauf zu. Unter FreeBSD gibt es einen Mercurial-Port, unter OS X lässt es sich über die MacPorts oder Fink installieren, und für Windows gibt es hier einen Installer.
Ich arbeite zur Zeit sicherlich noch ziemlich “ungelenk” mit Mercurial, doch das wird bestimmt noch besser…
In diesem Verzeichnis baue ich das Repository mit
Innerhalb dieses Verzeichnisses auf der obersten Ebene setze ich ein
Mit einem
Mit
Für Mercurial gibt’s natürlich viele Online-Tutorials, z. B. hier. Ich habe diesen Blog-Eintrag als “Quickstart”-Einstieg und als Stütze meines eigenen Gedächtnisses geschrieben. Es ist auf jeden Fall ratsam, “wenn mal Zeit ist”, ein Tutorial für Mercurial durchzuarbeiten.
Ich habe zu Mercurial gegriffen, ohne tiefere Studien, sondern nur, weil ich gelesen habe, dass es gut sein soll und kein eigener Server-Daemon erforderlich ist. Da ich keine großen Anforderungen habe und jederzeit auf ein anderes System wechseln kann, ist das eine vertretbarer “Auswahlprozess”.
Das “zentrale” Repository halte ich auf meinem FreeBSD-Server. Von bis zu fünf verschiedenen Betriebssystem-Installationen greife ich dann darauf zu. Unter FreeBSD gibt es einen Mercurial-Port, unter OS X lässt es sich über die MacPorts oder Fink installieren, und für Windows gibt es hier einen Installer.
Ich arbeite zur Zeit sicherlich noch ziemlich “ungelenk” mit Mercurial, doch das wird bestimmt noch besser…
Anlegen eines neuen Projektes auf dem Server
Für ein Projekt lege ich auf dem Server erst ein “leeres” Projekt (=Verzeichnis) an.In diesem Verzeichnis baue ich das Repository mit
hg init
auf. Falls in dieses Verzeichnis schon Dateien hinein sollen, kopiere ich sie dorthin.Innerhalb dieses Verzeichnisses auf der obersten Ebene setze ich ein
hg add *
ab. Mit einem hg commit -m ‘Initialer Commit’
werden die Dateien dann “eingecheckt”.Auschecken auf dem Client
Mit dem Befehlhg clone
lässt sich eine lokale Kopie des Repositories erstellen. Man kann dabei auch mittels SSH kopieren, z. B. hg clone ssh://tom@192.168.2.30//verzeichnis lokalesverzeichnis.
Lokale Änderungen ins zentrale Repository übertragen
Nach getaner Arbeit auf dem Client fügt man aus dem Wurzelverzeichnis der lokalen Kopie mithg add *
und einem anschliessenden hg commit -m ‘Kommentar’
die geänderten Dateien dem lokalen Repository hinzu.Mit einem
hg push
, ebenfalls aus dem Wurzelverzeichnis, werden die Dateien dann in das “Master-Repository” übermittelt. Man sieht, dass der Prozess des Übertragens von Quellcode in das (lokale) Repository mehrstufig ist, da muss man sich erst dran gewöhnen.Von lokalen Repositories vorgenommene Änderungen freigeben
Die von einem lokalen Repository mittels hg push übertragenen Änderungen müssen auf dem zentralen Repository noch frei gegeben werden. Dies geschieht, indem man diese mithg update
übernimmt.Mit
hg stat
und hg log
kann man sich übrigens immer den Status bzw. die Historie ansehen. Die von Mercurial verwalteten Dateien liegen übrigens teilweise im Verzeichnis .hg/store
, man muss sich also nicht wundern, wenn man nach einem Commit/Push nicht den Quellcode da sieht, wo man ihn erwarten würde.Für Mercurial gibt’s natürlich viele Online-Tutorials, z. B. hier. Ich habe diesen Blog-Eintrag als “Quickstart”-Einstieg und als Stütze meines eigenen Gedächtnisses geschrieben. Es ist auf jeden Fall ratsam, “wenn mal Zeit ist”, ein Tutorial für Mercurial durchzuarbeiten.
Kommentare
Kommentar veröffentlichen