Anmerkung:
Die Kapitel 2, 4, 6, 8, 9 und 10 sowohl von "Open Source Development with
CVS" als auch der deutschen Übersetzung stehen unter GNU Public License.
Nachfolgend finden Sie das Inhaltsverzeichnis für die deutschen
Übersetzung, in der die GPL-Kapitel verlinkt sind.

 

Inhaltsverzeichnis

Über den Autor 13
Danksagungen 13
Einführung 15
Etwas über die Terminologie 17
Verwendete Konventionen 17
Praktizieren, was wir predigen 19

Warum Open Source-Entwicklung und CVS Hand in Hand gehen 21

1.1 Was ist »freie Software«?  21
1.1.1 Wie alles begann 23
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
1.4 Wie geht das? 33

Eine Übersicht über CVS 39

2.1 CVS-Grundlagen 39

2.2 Ein Tag mit CVS 44

2.3 CVS aufrufen 46

2.4 Zugriff auf ein Archiv 46

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.4 Commit durchführen 68

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.1 Dateien hinzufügen 87

2.7.2 Verzeichnisse hinzufügen 87

2.7.3 Dateien entfernen 89

2.7.4 Verzeichnisse entfernen 90

2.7.5 Dateien und Verzeichnisse umbenennen 91

2.7.6 Optionsmüdigkeit vermeiden 92

2.7.7 Momentaufnahmen (Zeitstempel und Marken) 93

2.7.8 Verzweigungen 106

Der Open Source-Prozess 123

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.2 Verpacken 131
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
3.3.5 Wechsel von Betreuern 152
3.3.6 Stase 153
3.3.7 Wissen, was wir nicht wissen 153

Verwaltung eines CVS-Archivs 155

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.1 Informationsdateien 162

4.3.2 Unterverzeichnisse 163

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

4.4.6 Das CVSROOT/-Administrationsverzeichnis 190

4.5 Finden Sie mehr heraus 204

Entwerfen für dezentralisierte Entwicklung 207

5.1 Die Bedeutung des Softwareentwurfs 207
5.2 Proprietärer Softwareentwurf vs. freier Softwareentwurf 208
5.3 Kostenfragen 210
5.4 Entwurfsinvarianten 211
5.5 Quelltextentwurf 212
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
5.7.4 Halten Sie es portabel 223
5.8 Im Zweifelsfall - Hände weg 225

CVS für Fortgeschrittene 227

6.1 Über die Grundlagen hinaus 227

6.2 CVS als Telefon 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

6.13 Die Quelltexte Dritter verfolgen: Vendor Branches 281

6.14 Der bescheidene Guru 287

Fertigstellen, testen und veröffentlichen 289

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.4 Einfrieren 293
7.5 Entwicklungszweig - stabiler Zweig 294
7.6 Testen 297
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 Veröffentlichen 306
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
7.9 Weiterführende Informationen 309

Tipps und Troubleshooting 311

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

8.3.1 Alltägliche Probleme und ihre Lösung 318

8.3.2 Die Dinge ändern sich 332

Vollständige CVS-Referenz 335

9.1 Organisation und Konventionen 335

9.2 Kommandos 335

9.3 Typische Eigenschaften von CVS-Kommandos 336

9.3.1 Datumsformate 336

9.4 Globale Optionen 337

9.5 Liste der Befehle 343

9.5.1 Diff-Kompatibilitätsoptionen 354

9.5.2 History-Ausgabe 362

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.1 Gemeinsame Syntax 388

9.8.2 Gemeinsame Variablen 389

9.8.3 Liste der Archivverwaltungsdateien 389

9.9 Laufzeit-Kontrolldateien 398

9.10 Dateien in der Arbeitskopie 400

9.11 Umgebungsvariablen 402

Werkzeuge von Drittanbietern, die mit CVS zusammen arbeiten 407

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

10.9 cvslock: Sperren von Archiven 420

10.10 Weitere Pakete 423

10.11 Eigene Werkzeuge schreiben 425

CVS-Betreuung und -Weiterentwicklung heute 427

A.1 Der Übergang von Cyclic nach SourceGear 427
A.2 Wie bekomme ich CVS heute? 429

GNU General Public License 431

B.1 Preamble 431
B.2 Terms And Conditions For Copying, Distribution, And Modification 432
B.3 Wie Sie diese Bedingungen auf Ihre neuen Programme anwenden 437

Stichwortverzeichnis 441