Die vorhergehenden Anweisungen sind dazu gedacht, Ihnen einen
schnellen Überblick zu geben, es gibt aber noch viel mehr in einer CVS
Quelldistribution als nur den reinen Quelltext. Hier ist eine
schnelle Übersicht des Quelltextbaums, damit Sie wissen, welche Teile
nützliche Resourcen sind und welche ignoriert werden können.
Im Hauptverzeichnis des Distributionsbaumes finden Sie verschiedene
Dateien, die nützliche Informationen (und Hinweise auf weitere
Informationen) beinhalten. Dies sind in ungefährer Reihenfolge der
Relevanz:
NEWS - Diese Datei listet die Änderungen von einer Version zur
nächsten in umgekehrter chronologischer Reihenfolge auf (das heißt,
die aktuellsten zuerst). Wenn Sie CVS bereits eine Zeit lang verwendet
und nur auf eine neue Version aktualisiert haben, sollten Sie sich die
NEWS-Datei anschauen um zu sehen, welche neue Funktionalität
verfügbar ist. Auch wenn die meisten Änderungen an CVS
Rückwärtskompatibilität erhalten, kommen nicht kompatible Änderungen
von Zeit zu Zeit vor. Es ist besser, hier über sie zu lesen, anstatt
überrascht zu sein, wenn CVS sich nicht so verhält, wie Sie es
erwarten.
BUGS - Diese Datei enthält genau das, was Sie erwarten: eine Liste
bekannter Fehler in CVS. Sie sind üblicherweise nicht fatal, Sie
sollten sie aber kennen, wenn Sie eine neue Version installieren.
DEVEL-CVS - Diese Datei ist die "Verfassung" von CVS. Sie beschreibt
den Prozess, durch den Änderungen an der Haupt-CVS-Distribution
akzeptiert werden, und die Vorgehensweisen, durch die man
CVS-Entwickler wird. Sie müssen dies nicht wirklich lesen, wenn Sie
CVS nur verwenden wollen; es ist jedoch hoch interessant, wenn Sie
verstehen wollen, wie die größtenteils unkoordinierten Bemühungen von
Menschen, die über die ganze Welt verstreut sind, zu einem
funktionierenden, benutzbaren Stück Software verschmelzen. Und es ist
natürlich Pflichtlektüre, wenn Sie einen Patch zu CVS einbringen
wollen (sei es eine Fehlerbeseitigung oder eine neue Funktion).
HACKING - Trotz ihres Namens sagt die HACKING-Datei nicht viel über
den Entwurf oder die Implementierung von CVS aus. Sie ist
hauptsächlich eine Anleitung für Programmierstandards und andere
technische "Administrativa" für Menschen, die darüber nachdenken,
einen Patch für CVS zu schreiben. Sie kann als Ergänzung zur
DEVEL-CVS-Datei angesehen werden. Nachdem Sie die grundlegende
Philosophie der CVS-Entwicklung verstanden haben, müssen Sie die
HACKING-Datei lesen, um dies in wirkliche Programmierpraktiken
umzusetzen.
FAQ - Dies ist das Dokument, das die am häufigsten gestellten Fragen
zu CVS enthält. Unglücklicherweise weist seine Betreuung einige Lücken
auf. David Grubbs hat sich bis 1995 darum gekümmert, dann wurde er
(vermutlich) zu beschäftigt, und es dümpelte eine Zeit lang vor sich
hin. Schließlich übernahm 1997 Pascal Molli die Betreuung. Molli
hatte auch nicht die Zeit, es von Hand zu betreuen, doch zumindest hat
er Zeit dafür gefunden, es in sein automatisiertes FAQ-O-Matic-System
einzubinden, das es der Öffentlichkeit erlaubt, die FAQ
dezentralisiert zu verwalten (grundsätzlich kann jeder Einträge über
ein Webformular ändern oder ergänzen). Dies war wahrscheinlich
insoweit eine gute Sache, als dass die FAQ zumindest wieder betreut
wurde; jedoch ist ihre gesamte Organisation und Qualitätskontrolle
nicht auf demselben Niveau, wie wenn sie von einer Person betreut
würde.
Die Hauptversion der FAQ ist immer auf Mollis Web-Server
( www.loria.fr/~molli/cvs-index.html, unter dem Link "Documentation")
verfügbar. Die FAQ, die mit CVS-Distributionen mitgeliefert wird, wird
automatisch aus dieser FAQ-O-Matic-Datenbank generiert, ist also
bereits ein wenig veraltet, wenn sie die Öffentlichkeit erreicht.
Dennoch kann sie durchaus hilfreich sein, wenn Sie nach Tips und
Beispielen suchen, wie etwas Bestimmtes getan werden muss (z.B. das
Wiedervereinigen eines großen Zweigs oder das Retten einer gelöschten
Datei). Die beste Art, sie zu benutzen, ist als Referenzdokument; Sie
können sie in Ihren bevorzugten Editor laden und nach den für Sie
interessanten Themen suchen. Es wäre ein Fehler zu versuchen, sie als
Tutorial zu verwenden - es fehlen zu viele wichtige Tatsachen über
CVS, als dass sie als komplettes Handbuch dienen könnte.
|
Die CVS-Distribution enthält eine Reihe von Unterverzeichnissen. Im
Rahmen einer normalen Installation müssen Sie nicht darin herumsuchen,
wenn Sie aber im Quelltext wühlen möchten, ist es gut zu wissen,
wofür jedes von ihnen gedacht ist. Hier sind sie:
|
contrib/
diff/
doc/
emx/
lib/
man/
os2/
src/
tools/
vms/
windows-NT/
zlib/
|
Der Großteil davon kann ignoriert werden. Die Verzeichnisse emx/,
os2/, vms/ und windows-NT/ enthalten alle betriebssystemspezifischen
Quelltext, den Sie nur brauchen würden, wenn Sie tatsächlich einen
Fehler auf Quelltextebene in CVS beseitigen wollten (eine
unwahrscheinliche Situation, die aber durchaus schon vorgekommen
ist). Die diff/- und zlib/-Unterverzeichnisse enthalten die
CVS-internen Implementationen des diff-Programms bzw. der GNU
gzip-Kompressionsbibliothek (CVS benutzt letztere, um die Menge an
Daten zu reduzieren, die beim Zugriff auf entfernte Archive gesendet
werden müssen).
Die Unterverzeichnisse contrib/ und tools/ enthalten freie Software
von Dritten, die dazu gedacht ist, mit CVS benutzt zu werden. In
contrib/ finden Sie eine Ansammlung von kleinen spezialisierten
Shell-Skripten (lesen Sie contrib/README, um herauszufinden, was sie
tun). Das Unterverzeichnis tools/ enthielt früher von Dritten
beigesteuerte Software, enthält nun aber nur eine README-Datei, die
unter anderem besagt:
Dieses Unterverzeichnis enthielt früher Werkzeuge, die zusammen mit
CVS benutzt werden können.
Im Besonderen enthielt es eine Kopie von pcl-cvs Version 1.x. Pcl-cvs
ist eine Emacs-Schnittstelle für CVS.
Wenn Sie pcl-cvs suchen, empfehlen wir pcl-cvs Version 2.x, zu finden unter:
ftp://ftp.weird.com/pub/local/
Das hier erwähnte PCL-CVS-Paket ist sehr praktisch, und ich werde in
Kapitel 10 mehr darüber schreiben.
Die Unterverzeichnisse src/ und lib/ enthalten den Großteil des
CVS-Quelltexts, der die CVS-Interna betrifft. Die Hauptdatenstrukturen
und Befehle sind in src/ implementiert, lib/ enthält kleine
Quelltextmodule, die allgemein für CVS nützlich sind.
Das Unterverzeichnis man/ enthält die CVS-Man-Pages (elektronische
Handbucheinträge, gedacht für das Unix Online-Handbuchsystem). Wenn
Sie make install aufrufen, werden sie den Standard Man-Pages Ihres
Unix-Systems hinzugefügt, so dass Sie
eingeben können und eine recht knappe Einleitung und
Unterbefehlsreferenz von CVS erhalten. Obwohl sie auch als schnelles
Nachschlagewerk nützlich sind, kann es sein, dass die Man-Pages nicht
so aktuell oder komplett wie das Cederqvist-Handbuch sind (siehe den
nächsten Abschnitt); jedoch sind die Man-Pages eher unvollständig als
tatsächlich falsch, falls Sie das irgendwie beruhigt.
Das Cederqvist-Handbuch
Übrig bleibt das doc/-Unterverzeichnis, dessen wichtigster Teil der
berühmte Cederqvist ist. Heute ist es wahrscheinlich ein wenig weit
hergeholt, es "den Cederqvist" zu nennen. Auch wenn Per Cederqvist
(von Signum Support, Linkoping, Schweden) die erste Version um 1992
geschrieben hat, wurde es seitdem von vielen Menschen aktualisiert.
Wenn Mitarbeiter zum Beispiel eine neue Funktionalität zu CVS
hinzufügen, dokumentieren sie sie normalerweise auch im Cederqvist.
Das Cederqvist-Handbuch ist im Texinfo-Format verfasst, das vom
GNU-Projekt verwendet wird, da es recht einfach ist, daraus sowohl
Online- wie auch gedruckte Versionen zu erzeugen (im Info- bzw.
PostScript-Format). Die Texinfo-Hauptdatei ist doc/cvs.texinfo,
CVS-Distributionen kommen aber mit vorgenerierten Info- und
PostScript-Dateien - Sie brauchen also nicht zu befürchten, die
Texinfo-Werkzeuge selbst benutzen zu müssen.
Auch wenn der Cederqvist als Einführung und Tutorial verwendet werden
kann, ist er wahrscheinlich als Referenzdokument am nützlichsten. Aus
diesem Grund lesen ihn die meisten Menschen online, anstatt ihn
auszudrucken (auch wenn die PostScript-Datei doc/cvs.ps ist, für
Menschen mit zu viel Papier). Wenn Sie CVS zum ersten Mal auf Ihrem
System installiert haben, dann müssen Sie einen zusätzlichen Schritt
unternehmen, um sicherzustellen, dass das Handbuch öffentlich
verfügbar ist.
Die Info-Dateien (doc/cvs.info, doc/cvs.info-1, doc/cvs-info.2 usw.)
wurden für Sie installiert, als Sie make install aufriefen. Auch wenn
die Dateien in den Info-Verzeichnisbaum Ihres Systems kopiert wurden,
kann es sein, dass Sie noch eine Zeile hinzufügen müssen, um CVS in
das Info-Inhaltsverzeichnis, den "obersten Knoten", aufzunehmen.
(Dies ist nur notwendig, wenn CVS zum ersten Mal auf Ihrem System
installiert wurde; sonst sollte der Eintrag bereits von einer
früheren Installation her im Inhaltsverzeichnis enthalten sein).
Wenn Sie schon einmal neue Info-Dokumentation hinzugefügt haben, sind
Sie vielleicht mit dem Vorgang vertraut. Finden Sie zuerst heraus. wo
die Info-Seiten installiert wurden. Wenn Sie die Standardinstallation
verwendet haben (in /usr/local/), finden sich die Info-Dateien in
/usr/loal/info/cvs.info*. Wenn Sie mit
user@linux ~$
./configure --prefix=/usr
|
installiert haben, finden sich die Dateien in /usr/info/cvs.*. Wenn
Sie die Dateien gefunden haben, müssen Sie dem
Info-Inhaltsverzeichnis, das eine Datei namens dir in diesem
Verzeichnis ist, eine Zeile für CVS hinzufügen (im letzteren Fall
wäre dies also /usr/info/dir). Wenn Sie keinen root-Zugriff haben,
dann bitten Sie Ihren Systemverwalter darum. Hier ist ein Ausschnitt
von dir vor dem Hinzufügen der CVS-Dokumentation:
dir
|
* Bison: (bison). The Bison parser generator.
* Cpp: (cpp). The GNU C preprocessor.
* Flex: (flex). A fast scanner generator
|
Und hier ist der gleiche Bereich von dir danach:
dir
|
* Bison: (bison). The Bison parser generator.
* Cpp: (cpp). The GNU C preprocessor.
* Cvs: (cvs). Concurrent Versions System
* Flex: (flex). A fast scanner generator
|
Das Format der Zeile ist sehr wichtig. Sie müssen den Stern,
Leerzeichen und den Doppelpunkt in "* Cvs:" verwenden und die Klammern
und den Punkt in "(cvs)." danach. Wenn eines dieser Elemente fehlt,
wird das Info-Verzeichnisformat gestört, und Sie können den Cederqvist
nicht lesen.
Sobald das Handbuch installiert und vom Inhaltsverzeichnis aus
referenziert wurde, können Sie es mit jedem Info-kompatiblen Browser
lesen. Am wahrscheinlichsten existieren auf einem typischen
Unix-System zum einen der Kommandozeilen Info-Browser, der
folgendermaßen aufgerufen werden kann, wenn Sie direkt zu den
CVS-Seiten gelangen wollen:
und zum anderen der in Emacs enthaltene Browser, der durch
M-X info
oder
C-h i
aufgerufen werden kann.
Nehmen Sie sich so viel Zeit wie nötig, um den Cederqvist auf Ihrem
System richtig einzurichten, wenn Sie CVS installieren; es wird sich
später viele Male lohnen, wenn Sie irgendetwas nachschlagen müssen.
|
Zusätzlich zum Cederqvist, der FAQ und den anderen Dateien in der
Distribution selbst gibt es CVS-spezifische Internet-Ressourcen. Wenn
Sie einen CVS-Server administrieren wollen, sollten Sie
wahrscheinlich die info-cvs-Mailingliste abonnieren. Dazu senden Sie
eine E-Mail an info-cvs-request@gnu.org (die Liste selbst ist
info-cvs@gnu.org). Das Nachrichtenaufkommen ist mit ca. zehn bis
zwanzig E-Mails pro Tag mittel bis groß, die meisten davon sind von
Menschen, die bestimmte Fragen haben. Der Großteil davon kann
ungelesen gelöscht werden (außer wenn Sie ihnen helfen wollen, was
immer nett ist), doch ab und zu kündigt jemand die Entdeckung eines
Fehlers oder einen Patch an, der eine neue Funktionalität
implementiert, die Sie sich gewünscht haben.
Sie können sich auch an der formalen Fehlerberichts-Mailingliste, die
jeden eingesandten Fehlerbericht enthält, beteiligen. Dies ist
wahrscheinlich nicht notwendig, außer Sie haben vor, bei der Behebung
der Fehler mitzuhelfen, was großartig wäre - oder Sie sind
fürchterlich paranoid und möchten über jedes Problem, das andere in
CVS finden, Bescheid wissen. Wenn Sie daran teilnehmen wollen, senden
Sie eine E-Mail an bug-cvs-request@gnu.org.
Es gibt auch eine Usenet-Newsgruppe, comp.software.config-mgmt, die
Versionskontrolle und Konfigurationsmanagement allgemein behandelt und
in der relativ viel über CVS diskutiert wird.
Zuletzt gibt es mindestens drei Webseiten, die sich mit CVS
beschäftigen. Der Webserver von Cyclic Software, www.cyclic.com ist
seit einigen Jahren die informelle Homepage von CVS und wird es
wahrscheinlich auch auf absehbare Zeit bleiben. Cyclic Software stellt
auch Serverplatz und Netzzugriff für das Archiv bereit, in dem sich
die CVS-Quellen befinden. Die Webseiten von Cyclic enthalten
umfassende Links zu experimentellen CVS-Patches, Werkzeuge von
Dritten, die mit CVS zusammenarbeiten, Dokumentation,
Mailinglisten-Archive und so ziemlich alles andere. Wenn Sie etwas,
das Sie benötigen, nicht in der Distribution finden, ist
www.cyclic.com der richtige Ort, um mit der Suche zu beginnen.
Zwei andere gute Server sind Pascal Mollis
www.loria.fr/~molli/cvs-index.html und Sean Dreilingers
http://durak.org/cvswebsites. Die größte Attraktion an Mollis
Webseiten ist natürlich die FAQ, doch sie beinhalten auch Links zu
CVS-bezogenen Werkzeugen und Mailinglisten-Archiven. Dreilingers
Seiten sind auf Information zur Verwendung von CVS zur Verwaltung von
Webdokumenten spezialisiert und haben auch eine CVS-spezifische
Suchmaschine.
|
|