28 Juli 2007

CVS - erste schüchterne Annäherungsversuche

..."CVS? - Nutzt das noch wer?". Egal. Man soll ja alles mal ausprobiert haben. "Man lesen!" Richtig, sollte man. Aber heute ist Samstag und ein wenig 'Rumprobieren' macht ja auch manchmal Spaß. Das Folgende ist also ohne Gewähr zu genießen und ich bitte dann um konstruktive Kommentare wie "rtfm kaqnup!!elf!". Los geht's:
Wir haben einen Server und einen Client. Auf dem Client schreiben wir ein lustiges Testscript in PHP das dann in ein CVS-Repository auf dem Server - hier läuft ein Webserver etc. - übertragen werden soll.
Zuerst verbinden wir uns mit ssh auf den Server und erstellen dort in unserem Homeverzeichnis ein Verzeichnis CVS für das Repository
ich@server:~$ mkdir CVS
setzen die Umgebungsvariable CVSROOT auf dieses Verzeichnis
ich@server:~$ CVSROOT=/home/ich/CVS
ich@server:~$ export CVSROOT
wechseln in das Verzeichnis CVS
ich@server:~$ cd CVS
und erstellen dort das Repository
ich@server:~/CVS$ cvs init
Ein ls zeigt uns hier das neu angelegte Verzeichnis CVSROOT, das Repository ist also angelegt.
Vom Client aus möchten wir per Remote-Shell (per ssh) zugreifen, weshalb wir dort die Umgebungsvariable CVSROOT wie folgt setzen
ich@client:~$ CVSROOT=:ext:ich@server:/home/ich/CVS
ich@client:~$ export CVSROOT
Wir verbinden via ssh, setzen also noch die Umgebungsvariable CVS_RSH
ich@client:~$ CVS_RSH=ssh
ich@client:~$ CVS_RSH
Mit export bzw. echo können wir uns dann ansehen, ob wir uns auch nicht vertippt haben
ich@client:~$ echo $CVSROOT
> :ext:ich@server:/home/ich/CVS
Fein. Nun testen wir mal, ob wir per ssh an unseren CVS-Server kommen:
ich@client:~$ cvs version
> Client: Concurrent Versions System (CVS) 1.12.13 (client/server)
dann kommt der Prompt für das ssh-Passwort und dann
> Server: Concurrent Versions System (CVS) 1.12.9 (client/server)
Oha! Zwei unterschiedliche Versionen auf Client und Server. Jetzt brauchen wir nur noch ein paar ganz grandiose Dateien, die es auch wert sind, in das Repository geschrieben zu werden - *grübel*.

Labels: ,