Alphonse Bendt
Version vom: $Date: 2001/04/24 10:08:33 $

Allgemeines zum CVS-Repository

Projektdokumentation | Ressourcen | Werkzeuge | Anleitung


Zurück Hauptseite

Konfiguration

Zugang über das lokale Dateisystem

wenn man an einem Rechner angemeldet ist, der Zugriff über das lokale Dateisystem auf das Verzeichnis /home/troll/vis2000 verfügt, ist die Umgebungsvariable CVSROOT wie folgt zu setzen:

setenv CVSROOT /home/troll/vis2000/CVSROOT

export CVSROOT=/home/troll/vis2000/CVSROOT
Trotz lokaler Verfügbarkeit des Repositories kann man auch eine der folgenden Möglichkeiten verwenden.

Zugang über rsh

Eine Möglichkeit, um auf ein Remote Repository (ein Repository, welches nicht über das lokale Dateisystem erreichbar ist) zuzugreifen, ist ein Zugang über rsh. Da die Verwendung von rsh im Allgemeinen als unsicher eingestuft wird und rsh an FB deaktiviert ist, ist die ssh zu bevorzugen. Mit folgenden Schritten kann man seinen Zugang konfigurieren. Wer ssh schon benutzt, kann direkt zu Schritt 4) gehen.

1) Schlüsselpaar erzeugen

ssh-keygen

Dies erzeugt im Verzeichnis .ssh mehrere Dateien. identity enthält den privaten Schlüssel, identity.pub den öffentlichen Schlüssel.

2) öffentlichen Schlüssel hinterlegen

der öffentliche Schlüssel muss auf allen Rechnern hinterlegt werden auf denen man sich per ssh anmelden möchte.

cat identity.pub >> ~/.ssh/authorized_keys

3) Test der Verbindung

Nun kann man per ssh ein Kommando ausführen

ssh username@troll.inf.fu-berlin.de ls -l

oder eine interaktive Session starten

ssh username@troll.inf.fu-berlin.de

Falls dies nicht funktioniert kann man die ssh mit Option "-v" für verbose starten und erhält dann ggfs. Hinweise um das Problem zu lösen
 

4) Zugang zum Repository

Nun setzt man die Umgebungsvariable CVSROOT

csh:
setenv CVSROOT username@troll.inf.fu-berlin.de:/home/troll/vis2000/CVSROOT

bash:
export CVSROOT=username@troll.inf.fu-berlin.de:/home/troll/vis2000/CVSROOT

GUI Clients:
die GUI Clients verfügen alle über eine Möglichkeit das Repository einzustellen
z.B.
Cervisia: Repository -> Repositories
WinCVS:

Um cvs mitzuteilen daß es statt der rsh die ssh nutzen soll, setzt man noch die Umgebungsvariable CVS_RSH

setenv CVS_RSH ssh

oder

export CVS_RSH=ssh

Zugang über pserver

Für Windows haben wir leider keinen freien ssh-client gefunden der mit cvs zusammenarbeitet. Daher muß hier mit dem pserver gearbeitet werden.
siehe auch WinCVS-Anleitung

Umgebungsvariablen

setze CVSROOT folgend

csh
setenv CVSROOT :pserver:username@z1.inf.fu-berlin.de:/home/troll/vis2000/CVSROOT

bash
export CVSROOT=:pserver:username@z1.inf.fu-berlin.de:/home/troll/vis2000/CVSROOT

Dann muss man sich beim pserver anmelden. Dazu dient

cvs login

Dieses fragt das Passwort ab. Das Passwort wird dann zur weiteren Verwendung in ~/.cvspass gecrypted gespeichert.

Benutzung

Checkout

cvs checkout doc

checkout ist der Kommandoname
doc ist der Name des Projektes innerhalb des Repositories

Darufhin wird im aktuellen Verzeichnis ein Unterverzeichnis erstellt in das die Projektdokumentation kopiert wird.

Bearbeiten der Dateien

die Dateien kann man nun mit seinem Lieblingseditor bearbeiten.

Status und Update

wenn man nun seine Änderungen eingetragen hat kann man mit

cvs status

die lokale Arbeitskopie mit dem Repository vergleichen. Lokal geänderte Dateien werden entsprechend vermerkt.
Dateien die im Repository nicht vorhanden sind (die man also neu hinzugefügt hat) werden entsprechend markiert. Diese kann man dann mit

cvs add filename

zum Hinzufügen vormerken.
Es werden auch Binärdateien ins Repository eingecheckt. Um sicherzustellen dass CVS diese auch als Binärdateien erkennt habe ich einige Typen voreingestellt. siehe dazu die Liste. Binärdateien die nicht in der Liste auftauchen müssen mit

cvs add -kb filename

hinzugefügt werden. Sollten wichtige Typen in der Liste fehlen ... Entweder in $CVSROOT/CVSROOT/cvswrappers eintragen oder mail an Alphonse

Wenn es nun Dateien gibt die sich im Repository verändert haben kann man seine lokale Arbeitskopie mit

cvs update

auf den neuesten Stand bringen.
Eventuelle Versionskonflikte werden dabei von CVS erkannt und vermerkt.
Zu beachten ist dass dabei der lokale Verzeichnisbaum mit dem im Repository verglichen wird. Sollten im Repository inzwischen Verzeichnisse hinzugekommen sein, so werden diese ignoriert.
Benutzt man die Option "-d" also

cvs update -d

so werden neue Verzeichnisse aus dem Repository auch lokal hinzugefügt.

Änderungen einbringen

Letztendlich kann man mit

cvs commit

die Änderungen aus der lokalen Arbeitskopie ins Repository eintragen.
Dateien die ggfs. noch Konfliktmarker enthalten werden dabei abgelehnt und müssen nochmals bearbeitet werden.

Links

 Open Source Entwicklung mit CVS

Zurück Hauptseite