WinCvs – eine Fotolovestory

CVS ist ein freies Versionsverwaltungssystem welches hauptsächlich für Software eingesetzt wird, sich aber auch für LaTeX-Dokumente gut eignet. WinCvs ist eine freie Windows-GUI für CVS. Diese Seite beschreibt die Einrichtung und Nutzung von WinCvs für CVS-Repositories wie ich sie an der Uni benutze.

In CVS werden alle Daten in einem sogenannten Repository gehalten, welches neben den eigentlichen Daten auch noch Verwaltungsinformationen sowie eine vollständige Versionsgeschichte aller Dateien enthält. Zum Zugriff auf das Repository können verschiedene Methoden benutzt werden:

Bei der Nutzung hier im Institut tritt noch ein besonderes Problem auf: Für normale Benutzer ist es nicht möglich ordentliche Rechteverwaltung auf Basis von ACLs zu verwenden. Mit den normalen Unix-Berechtigungen ist es zwar möglich ein Repository einzurichten welches nur für eine Person (nämlich den Besitzer) schreibbar und für alle lesbar ist, aber nicht ein Repository nur für ein paar Personen schreibbar zu machen. Deshalb muss – in Anlehnung an Markos Anleitung – ein Umweg herhalten: das Repository wird zwar für alle Personen schreibbar gemacht, der Name des Verzeichnisses bleibt aber geheim.

Vorspiel

Bevor man WinCvs nutzen kann, muss man es natürlich installieren. Von der Webseite lädt man sich den Installer (üblicherweise nicht den Bare Installert) der jeweils aktuellsten empfohlenen Version herunter. Das ist dann ein ZIP-Archiv in dem eine setup.exe steckt. Man packt also erst das ZIP aus und startet dann das setup (dazu benutzt man sinnvollerweise einen administrativen Benutzer, zum Beispiel über Ausführen als...).

Im Setup-Programm muss man eigentlich abgesehen von der Akzeptanz der GPL nur immer wieder auf Next drücken:
Setup: Willkommensseite Setup: GPL Setup: Informationen Setup: Zielverzeichnis Setup: Installationsoptionen Setup: Programmgruppe Setup: Desktoptionen Setup: Abschlussseite

Lediglich auf der letzten Seite sollte man sicher stellen, dass Launch WinCvs nicht angekreuzt ist, aber Install CVSNT schon. Das sich öffnende CVSNT-Setup bringt man ebenso entspannt hinter sich:
Setup: Willkommensseite Setup: GPL Setup: Zielverzeichnis Setup: Installationsoptionen Setup: Programmgruppe Setup: Zertifikat generieren Setup: Installationszusammenfassung Setup: Abschlussseite

Zur Sache

Die folgenden Screenshots gehen von einem Windows XP aus. Der angemeldete Benutzer hat den Namen test und will die Daten in’s Verzeichnis C:\Dokumente und Einstellungen\test\Eigene Dateien auschecken. Der Name des Moduls ist Biometrie, der Name des Repositories ist /vol/fob-vol2/mi01/ploetz/CVS/WesamOv2, der Name des Serverrechners ist fink.informatik.hu-berlin.de und der Benutzername auf dem Server ist ploetz. (Anmerkung: im Fall der Uni tut es auch fast jeder andere Rechner aus dem Pool statt fink.)

Würde man unter einem Unix auf einer Bash arbeiten, würde das folgende Kommando in der Regel ausreichen um das Modul auszuchecken:

CVSROOT=ploetz@fink.informatik.hu-berlin.de:/vol/fob-vol2/\
mi01/ploetz/CVS/WesamOv2 cvs checkout Biometrie

(Das \ markiert selbstverständlich dass hier in Wirklichkeit kein Zeilenumbruch sein sollte.)

Unter Windows ist das natürlich alles viel einfacher :-) Zuerst also mal WinCvs starten:
Startmenü offen, WinCvs->WinCvs markiert

Es erscheint das WinCvs-Hauptfenster (sowie vermutlich einige Hinweise und Warnungen, die man wegklicken kann):
WinCvs-Hauptfenster

Jetzt zu C:\Dokumente und Einstellungen\test\ navigieren:
WinCvs-Hauptfenster, C:\Dokumente und Einstellungen\test\Eigene Dateien ist geöffnet

Dort wählt man im Menü Remote → Checkout module... und erhält das Checkout-settings-Fenster, wo man auf die ... neben CVSROOT klicken muss:
Checkout settings

Das öffnet ein Fenster indem man die einzelnen Teile des CVSROOT angeben muss. Zuerst ist als Protocol SSH auszuwählen:
CVSROOT-Fenster, Protocol-Dropdown offen, SSH ausgewählt

Dann kann man die Teile des CVSROOT angeben: Repository path /vol/fob-vol2/mi01/ploetz/CVS/WesamOv2, Username ploetz und Hostname fink.informatik.hu-berlin.de:
Variablen im CVSROOT-Fenster ausgefüllt

Nach dem Bestätigen mit OK, gibt man im immer noch offenen Checkout-settings-Dialog den Module name Biometrie:
Checkout settings, Modulname ausgefüllt

Wenn man das getan hat wird man aufgefordert sein Passwort einzugeben und zu bestätigen:
Passworteingabedialog

Nun sind die Dateien ausgecheckt:
WinCvs-Hauptfenster, zeigt das ausgecheckte Modul

Man kann die Dateien in seiner Arbeitskopie jetzt beliebig verändern und rumspielen. Möchte man Änderungen in das Repository zurückspielen, kann man zum Beispiel über das Kontextmenü der rechten Maustaste Commit... auswählen:

WinCvs-Hauptfenster, zeigt eine geänderte Datei sowie das Kontextmenü der rechten Maustaste wo Commit markiert ist

Wenn man eine Änderung zurückspielen möchte muss man eine kurze Logmeldung angeben, die in einem Satz oder einem halben beschreiben sollte was man getan hat und evt. warum:
Commit-settings-Dialog, mit Testmeldung

Um Änderungen abzurufen die andere Mitstreiter eventuell in der Zwischenzeit vorgenommen haben, wählt man im Kontextmenü Update... aus, das sollte man regelmäßig und häufig tun um auf dem Laufenden zu bleiben:
WinCvs-Hauptfenster, das Kontextmenü der rechten Maustaste ist geöffnet und Commit markiert

Im erscheinenden Dialog sollte man Create missing directories that exist in the repository anwählen, damit auch wirklich alle Neuerungen übertragen werden:
Update settings

Fertig

Häufige Nutzer wollen sich an dieser Stelle vermutlich das wiederholte Eintippen des Passwortes abnehmen lassen. Dazu ist bei CVSNT ein Passwort-Agent mitinstalliert worden, der über das Startmenü gestartet werden kann:
Startmenü, CVSNT geöffnet, CVSNT Password Agent markiert

Dann erscheint nur noch bei der ersten Authentifikation eine Passwortabfrage, die restlichen Abfragen werden vom Agenten beantwortet:
Passworteingabedialog des Agenten

Zuletzt geändert: 27. 1. 2005, Autor: Henryk Plötz, Valid XHTML 1.0!