CVS-Zugriff auf die LUG-KR Website #

Die Webseiten der LUG Krefeld stehen im Sourceforge CVS. Hier eine Kurzanleitung für die Nutzung des CVS:

Änderung der LUG-KR-Website im CVS #

Das folgende gilt nur für Read/Write Zugriff - Anonymous Zugriff (nur zum Lesen) geht wie auf der Projektseite beschrieben (www.sf.net/projects/lug-kr)

Lt. Doku muss man sich zunächst einmalig in den CVS Server via SSH einloggen um das Heimatverzeichnis zu erstellen. In meinem Fall hiess das also

   ssh -l abmann cvs.lug-kr.sf.net  

Es muessen Shell-Variable gesetzt sein:

   export CVS_RSH=ssh
   export CVSROOT=:ext:abmann@cvs.lug-kr.sf.net:/cvsroot/lug-kr

Letzt endlich wird das Verzeichnis auf die lokale Platte übertragen:

   cvs checkout www

-> Es wird nach dem Passwort für den ssh-Zugang gefragt!

Nun sollte das gesamte htdocs Verzeichnis (aka www) auf der Platte sein.

Beachten: Die cgi-scripte, sowie die wiki Datenbank sind *nicht* unter htdocs/ zu finden und folglich nicht im CVS.

Bei SF ist es notwendig immer das Passwort einzugeben, sobald man CVS verwendet, da hier eine ssh Verschlüsselung stattfindet. Man kann es aber auch speichern - siehe http://sourceforge.net/docman/?group_id=1 Der Punkt "SSH Keys and CVS/Shell Accounts" beschreibt das.

Kurze CVS Einführung: (alles ./www) Die Zeile

   cvs checkout www 

ist nur einmalig vonnöten (es sei denn, ihr löscht eure lokale Kopie irgendwann wieder...). Sobald der Checkout stattgefunden hat gibt es ein Verzeichnis www mit einem Unterverzeichnis CVS. Im Unterverzeichnis CVS (gibt's unter jedem Verzeichnis) steht woher die Dateien ausgecheckt wurden. Die Variable CVSROOT hat dann keine Bedeutunbg mehr.

Um das Verzeichnis lokal auf den neusten Stand zu bringen, macht mein ein Update:

   cvs update

Um eine geänderte Datei zu übertragen:

   cvs commit Datei.php

CVS ist standardmässig rekursiv, d.h. "cvs commit" überträgt alle geänderten Dateien in einem Verzeichnis.

Um eine neue Datei hinzuzufügen:

   cvs add Datei.php
   cvs commit Datei.php

-> cvs add vermerkt die Datei im Verzeichnis CVS und sobald wieder ein commit stattfindet wird sie übertragen.

Das war eigentlich schon das wichtigste. Sowas wie cvs up -r 1.0 Datei.php holt eine bestimmte Version (1.0) der Datei. Mit cvs up -A kann man wieder die aktuelle Datei laden.

Unter http://sourceforge.net/docman/?group_id=1 gibt es ne Menge Doku zu CVS, evtl. auch was deutsches (hab nicht geschaut).

Website unter http://www.lug-kr.de vom CVS aktualisieren #

Um den CVS-Inhalt dann endgültig ins Netz zu stellen, loggt man sich per Hand bei Sourceforge ein:

  ssh tbayen@shell.sourceforge.net

Dann geht man in das Gruppenverzeichnis

  cd /home/groups/l/lu/lug-kr/

(evtl. Link anlegen, weil man da bestimmt öfters hinwill) und startet

  ./scripts/update_cvs

Dadurch wird der CVS-Inhalt in den Webspace übertragen. Fertig! Wer will, kann dieses Skript übrigens auch als Cronjob laufen lassen, was bei uns eine ganze Weile gut funktionierte. Da sich unsere Webseiten aber sehr selten ändern, weil inzwischen alles veränderliche im Wiki steht statt in den statischen HTML-Seiten, haben wir das nicht mehr so installiert.

unser update-Skript #

Das update_cvs-Skript sieht folgendermassen aus (falls das jemanden interessiert):

#!/bin/bash

# umask to u=rwx,g=rwx,o=rx --> see umask -S 002
umask 002

# cd into the directory first
cd /home/groups/l/lu/lug-kr/htdocs || exit 1

# update via anonymous CVS
cvs -d:pserver:anonymous@cvs1:/cvsroot/lug-kr up -P

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-2) was last changed on 13-Nov-2006 20:15 by MarkusMonderkamp