CVS Mini Howto
Dieses Howto beschreibt, wie man unter Linux/Unix auf ein CVS Repository zugreifen kann.
Die Beispiele die ich ich benutzt habe, sind die Einstellungen für
Kmud,
aber es sollte relativ einfach sein, das für andere Repositories anzupassen.
Zu allererst solltest du sicherstellen, dass das Tool
cvs
installiert ist.
Dann setze eine Umgebungsvariable namens CVSROOT (bei bash:
export) und zwar
auf den Wert
:pserver:account@barney.cs.uni-potsdam.de:/home/cvs/kmud.
Das account@.. bedeutet du willst der User "account" sein. Nimm da einfach den Account
der für dich eingerichtet worden ist.
Dies ist nur ein CVS Account kein echter Login auf den Rechner.
barney.cs.uni-potsdam.de ist der CVS Server und
/home/cvs/kmud das Verzeichnis des Repositories dort.
Um dich einzuloggen, gib einfach
cvs login ein. Das Passwort nach dem du gefragt wirst
ist dein gewähltes (oder zugewiesenes) CVS Passwort.
Hinweis: dieses ist nichts allzusehr geheimes, beim CVS kann
keiner was richtig löschen, man kann immer einen beliebig alten Zustand wieder
herstellen.
Jetzt suchst du dir ein Unterverzeichnis worin du die Dateien bearbeiten möchtest.
Gehe in das Verzeichnis und gib da drin
cvs checkout kmud2 ein. Dies holt
eine komplett neue Kopie aller Dateien. "kmud2" so nennt sich das Modul
innerhalb des Repositories (es ist möglich beliebig viele weitere Module
anzulegen). Jetzt solltest du ein Verzeichnis
CVS und ein Verzeichnis
kmud2 haben.
In
kmud2 wieder ein Unterverzeichnis
CVS und lauter Dateien.
In den
CVS Verzeichnissen werden einige für CVS wichtige Informationen gespeichert.
Dort nichts löschen oder verändern!
Die Dateien im
kmud2 Verzeichnis sind die von Bedeutung und die du jetzt bearbeiten kannst.
Wenn du dann die Änderungen ins CVS übernehmen willst, mache ein
cvs commit.
Du landest dann in einem vi-ähnlichen Editor (oder was auch immer du bei dir als $EDITOR
eingestellt hast), wo du deine Änderungen kommentieren kannst.
Bitte nach Möglichkeit immer detaillierte Angaben machen,
damit andere wissen, was gemacht wurde.
Wenn jetzt jemand anderes was geändert hat und du diese Änderungen auch in
deinem Arbeitsverzeichnis haben möchtest, dann gib
cvs update -dP ein. Dabei werden
alle Dateien auf den aktuellen Stand gebracht. Das bedeutet auch, dass noch nicht
vorhandene Dateien (sei es, weil sie jemand anderes zum CVS hinzugefügt hat
oder du eine bei dir gelöscht hast) neu aus dem CVS geholt werden. Falls du
also mal eine Datei so verhaun hast, dass du lieber das Original wieder haben
willst, dann lösche einfach die Datei und mache ein Update.
Dieses Update solltest du am besten einmal machen, bevor du anfängst am Code zu arbeiten
und einmal bevor du ein "commit" machst.
Wenn du eine Datei neu angelegt hast und die auch mit ins CVS soll, dann gib
cvs add Datei ein. Beim nächsten commit wird sie dann mit ins CVS Repository geschickt.
cvs remove ist das passende Gegenstück zu add. Bevor man eine Datei
per remove aus dem CVS löschen kann, muss sie aber vorher richtig gelöscht
(physikalisch, von der Festplatte) worden sein.
Tja, das waren auch schon die wichtigsten Befehle. Für Paranoia-Freaks gibts
noch
cvs logout. Nach einem Login steht nämlich in der Datei ~/.cvspass dein
CVS Passwort drin (nicht wirklich sicher verschlüsselt). Aber wenn du dich ausloggst
musst du dich beim nächsten mal wieder einloggen und da man wie gesagt nicht
viel anstellen kann mit dem Account kannst du dir die Tipperei auch sparen.
Alternativ zur Umgebungsvariable kannst du auch das CVSROOT mit der Option
"-d :pserver:account@barney.cs.uni-potsdam.de:/home/cvs/kmud" bei jedem Kommando
mit angeben.
Für weiterreichende Informationen ist die Manpage zu
CVS auch nicht schlecht und es gibt auch ein sehr gutes
FAQ.
Es gibt auch graphische Frontends für CVS. Ich kenne z.B.
Cervisia.
Es ist wunderbar, um bestimmte Dinge zu visualisieren (z.B. was sich zwischen
Version X und Y geändert hat), aber ich mag das Kommandozeilenprogramm
für die hauptsächliche Arbeit mit CVS mehr.