PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stress mit cvs



SeeksTheMoon
14.01.03, 19:48
Ich versuche jetzt seit ein paar Stunden einen cvs Server aufzusetzen und komme nicht klar.
Das offizielle Manual ist megafett und irgendwie finde ich dort nicht das drin, das mich interessiert. Die Suche hier und das Internet waren auch nicht sehr ergiebig, ich finde höchstens Dinge, die ich schon weiß.

Das ganze soll so aussehen:
Die ganzen Dateien sollen in Unterverzeichnissen unterhalb von /srv/cvs liegen, wobei ein Unterverzeichnis ein Modul beinhaltet.
Auf den Datenbestand dürfen nur Leute schreibend zugreifen, die in der passwd Datei für cvs stehen, also keine Linux-System-User (hab in der config den Parameter SystemAuth=no gesetzt). Das dürfte theoretisch nicht allzu schwer sein, aber irgendwie mache ich Mist:

Ich habe bisher folgendes gemacht:
mkdir /srv/cvs/REPOSITORY
cvs -d :local:/srv/cvs/REPOSITORY init
cvs -d :local:/srv/cvs/REPOSITORY import -m "Kommentar" Verzeichnis demo start

Das sieht jetzt also so aus:
/srv/cvs/REPOSITORY/CVSROOT
/srv/cvs/REPOSITORY/Verzeichnis

Ich hab also schon Dateien importiert und ich konnte sie auch schon auschecken, aber dann hab ich User angelegt und es klappt nicht mehr.
In /srv/cvs/REPOSITORY/CVSROOT liegt die Datei passwd, in der die User mit ihren Passwörtern drin stehen (ich hab von meinem FTP-Server die Datei genommen), die Einträge sehen so aus:
guest:
authorisierter_user:qsizfgiasg1fsas12dfusgei

ich hab das ganze über den Inetd laufen, in dessen config-Datei folgendes steht:
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs -f --allow-root=/srv/cvs/passwd pserver

So, hier liegt wohl auch der Hund begraben. Ich versuche mich mit cvs -d :pserver:username@meinewebadresse:/srv/cvs/ login einzuloggen und es kommt die Fehlermeldung
Logging in to :pserver:username@meinewebadresse:2401/srv/cvs
CVS password:
/srv/cvs: no such repository

Bevor ich die User angelegt habe, ging es noch so. Da war allerdings auch der inetd anders konfiguriert, nämlich so:
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs -f --allow-root=/srv/cvs pserver
Wenn ich das jetzt so mache, kann ich mich nicht anmelden, weil er dann den user nicht kennt und wenn ich das passwd hinschreibe, findet er das Repository nicht mehr...*grr*

So. Wie kriege ich es jetzt gebacken, dass ich mir die User anlegen kann? Dann kommt noch was mit Schreibrechten dazu:
Kann ich nur bestimmten Benutzern erlauben, (zusätzlich) auf bestimmte Module zuzugreifen? Genauer gesagt: guest darf nur bestimmte Module auschecken, registrierte User alles (und schreiben auch).

Noch ne Frage: In dem Verzeichnis das ich importiere, sind mehrere Unterverzeichnisse. In einem einzigen sind Bilddateien (also binärdaten), alles andere sind Quelltexte. Wenn ich jetzt sage, cvs soll alles ab dem Obersten Verzeichnis importieren, nimmt es auch das Bilderverzeichnis mit. Kann dabei denn was schiefgehen oder peilt cvs das? Für Binärdaten muss man ja "-kb" als Schalter angeben, damit diese Daten nicht verändert werden.

Ich benutze übrigens mein selbstkompiliertes Concurrent Versions System (CVS) 1.11.4 (client/server), nicht das, das bei Suse 8.1 dabei ist.

Ich hoffe, ich hab nix vergessen, ich werd nämlich langsam crazy

SeeksTheMoon
15.01.03, 19:51
*buhu* weiß denn niemand was?