Cvs
aus MLdonkey, der freien Wissensdatenbank
Concurrent Versions System (CVS)-Server:
(weitere Infos http://de.wikipedia.org/wiki/Concurrent_Versions_System)
Die Quellen für Mldonkey befinden sich auf dem CVS-Server, zusammen mit den Quellen anderer Projekte. Diese Dateisammlung auf dem CVS-Server nennt man ‘Repository’. Mithilfe des Repository hat man nicht nur Zugriff auf aktuelle Versionen der Quellen, sondern auch auf alte Versionen.
Um den Quellen einen gewissen Schutz angedeien zu lassen muß man sich vor dem Zugriff auf das Repository authentifizieren. Dazu dient ‘cvs login’. Meistens hat man freien Lese-Zugriff, um selber das Repository zu verändern braucht man andere rechte und eine andere Zugriffsmethode.
Im Repository sind die Quellen in Modulen organisiert, meistens entspricht ein Modul dabei einem Verzeichnis und seinen Unterverzeichnissen. Wenn man die Quellen frisch vom CVS-Server kopiert, muß man dem Server mitteilen, welches Modul man möchte.
Auschecken: Aus-checken ist das kopieren eines frischen Moduls. Zum auschecken nimmt man das Kommando ‘cvs checkout’ oder kurz ‘cvs co’, mit einigen Parameter.
Der Sourcecode von MLDonkey wird mit Hilfe von CVS verwaltet. Um die nachfolgenden Anweisungen nutzen zu koennen muessen zuerst die folgenden zwei Befehle eingegeben werden
export CVS_RSH="ssh" cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/mldonkey co -P mldonkey
Wenn nach einem “CVS password” gefragt wird, einfach <Enter> drücken.
Wenn es ein Update im CVS gibt, begibt man sich in das mldonkey-Verzeichnis und tippt:
cd mldonkey cvs -z3 -q update -dPA
Für die folgenden cvs-Befehle gilt, dass sie im mldonkey-Verzeichnis ausgeführt werden müssen. Braucht (oder möchte) man eine “alte” Version, schaut man im ChangeLog nach einem sogenannten Tag (eine Marke) zB:
2003/02/18: Simon (release unstable-2-02-11)
Der Tag ist hier “unstable-2-02-11” oder listet mittels
cvs stat -v distrib/ChangeLog
alle Tags der Datei ChangeLog auf (da ChangeLog sich bei jedem Update ändert, besitzt ChangeLog auch alle Tags).
Anschließend kommt der checkout mittels:
cvs -z3 co -r tag mldonkey
Sollte eine Version kein Tag haben, kann man den CVS-Stand eines bestimmten Datums (Bsp für 25.2.2003) saugen:
cvs -z3 co -D 02/25/2003 mldonkey
Wenn ich
cvs -q -z3 co mldonkey
in meinem ‘src’-Verzeichnis ausführe kriege ich in ‘src’ ein Verzeichnis ‘mldonkey’. In diesem Verzeichnissen und denen darunter befinden sich die Quellen, Konfigurationsskripte und andere interessante Sachen. Ausserdem findet man dort in jedem Verzeichnis ein Verzeichnis ‘CVS’ in dem sich Informationen über das Repository, zu dem die Dateien gehören befinden. Die Dateien in ‘CVS’ sind Textdateien, sieh’ sie dir doch einfach mal an.
Wenn ich meine lokalen (ausgecheckten) Quellen aktualisieren möchte wechsle ich nach ‘src/mldonkey’ und führe dort
cvs -q -z3 upd -dP
aus. Die Dateien in den ‘CVS’-Verzeichnissen verraten dem cvs-Kommando die weiteren Einzelheiten.
Branches: Seit neuestem gibt es im Mldonkey-Repository einen Branch. Branches werden idR benutzt, um Korrekturen an einer stabilen Version vorzunehmen, während gleichzeitig (evtl. grössere) Änderungen an der Hauptversion stattfinden.
In der Ausgabe von
cvs stat -v <datei>
tauchen Branches an zwei Stellen auf: unter ‘Sticky Tag’ falls ‘ChangLog’ zu einem Branch gehört und in der Tag-Liste mit dem Kommentar ‘branch:’ statt ‘revision:’.
Zum Wechsel aus der Hauptversion (’Trunk’) in den Branch wird beim Update das Branch-Tag angegeben:
cvs -q -z3 upd -r <branch-tag> -dP
Alle weiteren updates holen jetzt die neueste Version aus dem Branch. Um zur Hauptversion zurückzuwechseln nimmt man
cvs -q -z3 upd -dP -A
