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 #

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-3) was last changed on 14-Dec-2008 12:00 by Peter Hormanns