= CVS-Kurzanleitung =
Notizen von T. Bayen bei der Lektüre des cvsbook-Pakets mit dem
Ziel, eine Kurzreferenz zu bekommen. Weitere Doku gibts unter
http://www.cvshome.org/docs/manual.
Die Nachfolge von CVS soll SubVersion antreten. Zur Benutzung von
CVS und SubVersion unter Debian ist auch
http://qref.sourceforge.net/Debian/reference/ch-vcs.de.html ganz
interessant.
== Repository angeben: -d ... ==
cvs -d /usr/local/cvs command
oder
export CVS_RSH=ssh
cvs -d :ext:tbayen@cvs.bayen.loc:/usr/local/cvs command
oder
export CVS_RSH=ssh
export CVSROOT=:ext:tbayen@cvs.bayen.loc:/usr/local/cvs
cvs command
== Server einrichten / Repository auf Server neu anlegen ==
cvs -d ... init
User müssen write-permissons für das Verzeichnis ... haben.
Im Internet sollte pserver eingerichtet werden, ansonsten braucht
jeder cvs-Nutzer ein login (für ssh).
Wer das Debian-Paket '''cvs''' installiert und auf alle Fragen mit
''Enter'' antwortet, hat ein fertiges Repository unter
''/var/lib/cvs'', was IMHO ein guter Platz ist. Dann sollte man mit
"adduser <username> src" für den Schreibzugriff aufs
Repository sorgen.
== Projekt neu anlegen ==
cd myproject
cvs import -m 'log message' projektname username start
== Arbeitskopie auschecken ==
cvs checkout myproject
== Änderungen herausfinden ==
Fremde Änderungen holen, dabei eigene (uncommitted) anzeigen
cvs update
Wer weniger geschwaetzige Ausgaben will:
cvs -q update
Damit zeigt man nur die geaenderten Dateien an, nicht jedoch das
ganze Geblubber, welche Verzeichnisse cvs gerade ueberprueft.
Und wenn man mitbekommen will, ob es evtl. neue Unterverzeichnisse
gibt:
cvs -q update -d
Und wenn man nur wissen will, was sich geaendert hat, aber die
Aenderungen nicht gleich uebernehmen will:
cvs -n -q update
(Auch hier kann man ein -d anhaengen, wenn man neue
Unterverzeichnisse sehen will.)
Diffs anzeigen
cvs diff
cvs -q diff # Quiet: Es werden nicht alle Verzeichnisse
ausgegeben
cvs -q diff -c # context-Diff-Format (evtl. lesbarer)
== Check-In / Commit ==
cvs commit -m "log Text"
== Dateien zufügen ==
cvs add filename
cvs add -kb filename # Binary hinzufügen
cvs update -d # holt auch neue Verzeichnisse
rm filename
cvs remove filename
cvs update -P # entfernt leere Verzeichnisse
== Sonstiges ==
cvs status [filename] # Datum, Version, etc. ausgeben
cvs log [filename] # Logbuch ausgeben
cvs diff -r 1.2 -r 1.3 text.c # Unterschied zwischen zwei
Versionen
cvs annotate filename # zeigt zu jeder Zeile, wer sie wann
geschrieben hat
cvs tag bla # Marke setzen, kann statt Rev-Nr. benutzt
werden
cvs export -r bla # wie auschecken, aber ohne
Verwaltungsbla.
== Keyword Expansion ==
$Author$
$Date$
$Id$ - filename,revision,date,author
$Revision$
$Log$ - Hier wird das jeweils neue Log mit eingefügt, alte bleiben
stehen
# $Log$ - vor jeder Log-Zeile steht das Prefix #
[{Tag VersionsVerwaltung}]