Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

CVS

CVS ist die Abkürzung für Concurrent Versions System. Es dient der Verwaltung von Dokumenten mit kompletter Änderungshistorie. Dokumente sind dabei meist Quellcode.

Mehr über CVS siehe Wikipedia

CVS im Fakultätsnetz

Ein CVS-Repository kann theoretisch jeder Benutzer in einem Verzeichnis seines Homedirectories anlegen.

Anmerkung: $CVSREPO soll hier ein Verzeichnisname sein, in dem das Repository liegen soll, z.B.: CVSREPO="Sem6_VerteilteSysteme"

mkdir ~/$CVSREPO
cvs -d ~/$CVSREPO init

Will man das Repository mit einer Arbeitsgruppe teilen, empfiehlt es sich eine eigenen UNIX-Gruppe im CS-Netz anzulegen, man muss dann dieser Gruppe Leserechte und Schreibrechte für das Repository-Verzeichnis geben und das Gruppen-Sticky-Bit (chmod g+s) für das Verzeichnis setzen, bevor man das Repository initialisiert.

Leider gibt es bei der Sache einen Haken:

Das cvs-Programm ruft auf den Servern die Funktion getcwd() auf. Diese schlägt unter Solaris aber offenbar fehl, wenn irgendein Teil des Pfades nicht lesbar ist. Das bedeutet, dass Ihr allen Gruppen, die auf Euer Repository zugreifen wollen Leserechte für Euer Homeverzeichnis geben müsst . (im Zweifel also all...)

chmod 755 $HOME

Auf jeden Fall sollte man das sticky-bit auf das Repository-Verzeichnis setzen, damit dor von den anderen Gruppenmitgliedern angelegt Dateien auch der Gruppe gehören...

chmod 2770 ~/$CVSREPO

Diese Probleme (und eine Reihe anderer) treten bei der Nutzung von Subversion (svn) nicht auf!