1.1 Was ist »freie Software«? ( 21
1.1.2 Die zwei Entwicklungsmethoden 26
1.2 Was hat CVS damit zu tun? 27
1.3 Prinzipien der Open Source-Entwicklung und wie CVS dabei hilft 31
2.5 Ein neues Projekt beginnen 51
2.6 Eine Arbeitskopie auschecken 54
2.6.1 Eine Veränderung einbringen 58
2.6.2 Herausfinden, was man selbst und andere getan
haben: update und diff 59
2.6.3 CVS und implizite Argumente 64
2.6.5 Herausfinden, wer was gemacht hat: Log-Nachrichten lesen 77
2.6.6 Veränderungen untersuchen und zurücknehmen 80
2.7 Andere nützliche CVS-Kommandos 87
2.7.2 Verzeichnisse hinzufügen 87
2.7.4 Verzeichnisse entfernen 90
2.7.5 Dateien und Verzeichnisse umbenennen 91
2.7.6 Optionsmüdigkeit vermeiden 92
3.1 Fehlschläge und Erfolgserlebnisse 123
3.2 Wie beginnt man ein Projekt 125
3.2.1 Geben Sie etwas Nützliches heraus 128
3.2.3 Ankündigen des Programms 136
3.3 Durchführung eines Projektes 137
3.3.1 Kultivierung technischer Beurteilungen 141
3.3.2 Wer ist nun wirklich der Betreuer? 145
3.3.3 Leiten durch Komitee 146
3.3.4 Wie man eine Verzweigung erzeugt, wenn es unbedingt sein muss 149
4.1 Die Rolle des Administrators 155
4.1.1 Beschaffen und Installieren von CVS 155
4.2 Beschaffen und Bauen von CVS unter Unix 156
4.2.1 Beschaffen und Installieren von CVS unter Windows 159
4.2.2 Beschaffen und Installieren von CVS auf einem Macintosh 161
4.2.3 Beschränkungen der Macintosh- und Windows-Versionen 161
4.3 Anatomie einer CVS-Distribution 162
4.3.3 Andere Informationsquellen 167
4.4 Mit einem Archiv beginnen 168
4.4.1 Der Passwortauthentisierungs-Server 171
4.4.2 Anonymer Zugriff über den Passwortauthentisierungs-Server 176
4.4.3 Archivstruktur, in quälender Detailfülle erklärt 178
4.4.4 RCS-Format quotiert »@«-Zeichen immer 185
4.4.5 Was geschieht, wenn Sie eine Datei löschen 188
5.1 Die Bedeutung des Softwareentwurfs 207
5.2 Proprietärer Softwareentwurf vs. freier Softwareentwurf 208
5.5.1 Sicherheiten von Unsicherheiten trennen 212
5.5.2 Die Aufteilung des Quelltextes in Dateien und Verzeichnisse 215
5.5.3 Aufteilung des Quelltextes in Module 216
5.6 Evolutionszentrierter Entwurf 218
5.7 Prinzipien des freien Softwareentwurfs 220
5.7.1 Limitieren Sie die Eingabe nicht 220
5.7.2 Benutzen Sie eine konsistente Schnittstelle 222
5.7.3 Dokumentieren Sie Datenstrukturen 223
6.1 Über die Grundlagen hinaus 227
6.3 Watches: Wer arbeitet wann woran 228
6.3.1 Watches im Archiv aktivieren 229
6.4 Log-Nachrichten und Commit-E-Mails 248
6.5 Wie man eine Arbeitskopie los wird 251
6.6 Überblick über die Projekthistorie 252
6.7 Detaillierter Überblick über Projektaktivitäten: Anmerkungen 257
6.8 Verwendung der Schlüsselwortexpansion 263
6.9 Eine prekäre Lage: Wie überlebt man die Arbeit
mit Verzweigungen? 266
6.10 Häufig mit der Hauptversion verschmelzen 267
6.11 Der koordinierte Ansatz: Verschmelzungen von und
zur Hauptversion 276
6.12 Der Ansatz »fliegender Fisch«: Wie's einfacher geht 278
7.1 Warum überhaupt eine neue Version? 289
7.2 Den Veröffentlichungsprozess starten 291
7.3 Wie man den Effekt »Code Cram« vermeidet 292
7.5 Entwicklungszweig - stabiler Zweig 294
7.6.1 Rekrutierung und Haltung der Tester 297
7.6.2 Automatisiertes Testen 298
7.7 Übersetzen, installieren und verpacken 299
7.7.1 Wie man sich von CVS beim Verpacken helfen lässt 304
7.8.1 Wie man mitteilt, was sich geändert hat 307
7.8.2 Die Veröffentlichung im CVS vermerken: Tags
und Revisionsnummern 308
8.1 Wenn mal was schief läuft 311
8.2 Die üblichen Verdächtigen 312
8.2.1 Der administrative Teil der Arbeitskopie 312
8.2.2 Zugriffsrechte im Archiv 315
8.3 Häufige Probleme und deren Lösung 317
9.1 Organisation und Konventionen 335
9.3 Typische Eigenschaften von CVS-Kommandos 336
9.5.1 Diff-Kompatibilitätsoptionen 354
9.6 Schlüsselwortersetzung (RCS-Schlüsselwörter) 383
9.6.1 Schlüsselwort-Expansion kontrollieren 384
9.7 Liste der Schlüsselwörter 386
9.8 Archivverwaltungsdateien 388
9.8.2 Gemeinsame Variablen 389
9.8.3 Liste der Archivverwaltungsdateien 389
9.9 Laufzeit-Kontrolldateien 398
10.1 Was sind Werkzeuge von Drittanbietern? 407
10.2 pcl-cvs: eine Emacs-Bedienungsoberfläche für CVS 407
10.3 Installation von pcl-cvs 408
10.4 Benutzung von pcl-cvs 411
10.5 Fehlerbehandlung in pcl-cvs 413
10.6 Die Zukunft von pcl-cvs 413
10.7 cvsutils: allgemeine Werkzeuge zur Nutzung mit CVS 414
10.8 cvs2cl.pl: die Erzeugung von ChangeLogs im GNU-Stil
aus CVS Logs 418