SelfLinux Programmierung CVS Werkzeuge von Drittanbietern, die mit CVS zusammen arbeiten Abschnitt 3 | SelfLinux-0.13.0

| Werkzeuge von Drittanbietern, die mit CVS zusammen arbeiten | Autor Formatierung GPL

#### 7 cvsutils: allgemeine Werkzeuge zur Nutzung mit CVS

Benötigt: Perl

URLs:

> http://www.red-bean.com/cvsutils/ http://www.red-bean.com/cvsutils/releases/

Autoren: Tom Tromey (ursprünglicher Autor) und Pavel Roskin (momentaner Betreuer)

Die Sammlung kleiner Programme namens cvsutils arbeitet meist (aber nicht immer) ohne aktive Verbindung in der CVS-Arbeitskopie. Arbeitsgänge ohne aktive Verbindung werden ohne Kontakt zum Archiv durchgeführt, belassen die Arbeitskopie jedoch in einem Zustand, der jederzeit einen problemlosen späteren Kontakt zum Archiv gewährleistet. Dieses Verhalten kann sehr praktisch sein, wenn Ihre Netzwerkverbindung sehr langsam oder unzuverlässig ist.

Die cvsutils-Programme habe ich unten in der (meiner Meinung nach) ungefähren Reihenfolge ihrer Nützlichkeit aufgelistet, die nützlichsten zuerst. Zufällig entspricht diese Reihenfolge auch der Reihenfolge der Sicherheit der Programme. Sicherheit ist hier ein Thema, denn einige der Programme können durch ihren normalen Ablauf den Verlust lokaler Veränderungen oder Dateien in Ihrer Arbeitskopie bewirken. Lesen Sie daher zunächst sorgfältig die Beschreibungen durch, bevor Sie diese Werkzeuge benutzen.

Bemerkung:

> Diese Dokumentation ist auf dem Stand von Version 0.1.4. Lesen Sie sicherheitshalber die Datei README in neueren Versionen, um die aktuellsten Informationen zu erhalten.

cvsu

Gefahr: Keine
Kontakt zum Archiv: Nein

Dieses Werkzeug führt ein simuliertes cvs update ohne Kontakt zum Archiv durch, indem es die Zeitstempel aller Dateien mit den Aufzeichnungen in CVS/Entries vergleicht. So können Sie feststellen, welche Dateien lokal verändert wurden und welche nicht von CVS erfasst sind. Anders als cvs update aktualisiert cvsu Ihre Dateien nicht aus dem Archiv.

Obwohl es diverse Optionen versteht, wird cvsu meistens ohne jegliche Option gestartet:

user@linux ~$ cvsu ? ./bar ? ./chapter-10.html M ./chapter-10.sgml D ./out ? ./safe.sh D ./tools

Die Kürzel auf der linken Seite entsprechen denen von cvs update, außer dass D hier ein Verzeichnis symbolisiert. Dieses Beispiel zeigt leider nicht, wie cvsu sofort durchlief, wohingegen ein normales cvs update bei meiner lahmen Modemverbindung eine halbe Minute oder so gebraucht hätte.

Geben Sie

user@linux ~$ cvsu --help

ein, um eine Liste möglicher Optionen zu erhalten.

cvsdo

Gefahr: Sehr gering
Kontakt zum Archiv: Nein

Dieser Befehl kann die Effekte von cvs add und cvs remove auf die Arbeitskopie simulieren, ohne dabei eine Verbindung zum Archiv aufzubauen. Natürlich müssten Sie dann noch immer die Änderungen per commit übermitteln, damit sie auch im Archiv gültig werden, aber wenigstens die Kommandos add und remove selbst können dadurch beschleunigt werden. Und so wird es benutzt:

user@linux ~$ cvsdo add DATEINAME

oder

user@linux ~$ cvsdo remove DATEINAME

Um eine Liste weiterer möglicher Optionen zu bekommen, benutzen Sie:

user@linux ~$ cvsdo --help

cvschroot

Gefahr: Gering
Kontakt zum Archiv: Nein

Dieses Werkzeug kann die Arbeitskopie auf ein neues Archiv umstellen, falls das Archiv auf einen anderen Server umziehen sollte. Wenn dieser Fall eintritt, dann ändert sich keine der Revisionen, aber alle Arbeitskopien müssen ihre CVS/Root-(und möglicherweise CVS/Repository-)Dateien aktualisieren, damit sie den neuen Standort des Archivs beinhalten. Die Benutzung von cvschroot ist viel schneller als ein komplett neuer Checkout. Ein weiterer Vorteil ist, dass Sie lokale Änderungen nicht verlieren. Benutzung:

user@linux ~$ cvschroot NEUES_ARCHIV

Zum Beispiel:

user@linux ~$ cvschroot :pserver:benutzer@neues.archiv.wo.auch.immer.com:/home/cvs/projekt

cvsrmadm

Gefahr: Mäßig
Kontakt zum Archiv: Nein

Entfernt alle CVS/-Verwaltungsverzeichnisse in Ihrer Arbeitskopie und hinterlässt einen Dateibaum, der dem gleicht, der durch cvs export erzeugt würde. Auch wenn Sie durch diesen Befehl keine lokalen Änderungen verlieren, wird Ihre Arbeitskopie anschließend keine CVS-Arbeitskopie mehr sein.

Mit Bedacht verwenden!

cvspurge

Gefahr: Mittel
Kontakt zum Archiv: Nein

Dieser Befehl löscht alle nicht von CVS kontrollierten Dateien aus Ihrer Arbeitskopie. Es nimmt keine lokalen Änderungen an von CVS kontrollierten Dateien zurück.

Mit Bedacht verwenden!

cvsdiscard

Gefahr: Recht beträchtlich
Kontakt zum Archiv: Unter Umständen

Dies ist das Gegenstück zu cvspurge. Anstatt unbekannte Dateien unter Beibehaltung lokaler Änderungen zu löschen, verwirft es alle lokalen Änderungen und behält unbekannte Dateien bei.

Mit extremer Vorsicht verwenden!

cvsco

Gefahr: Groß
Kontakt zum Archiv: Unter Umständen

Macht dasselbe wie cvspurge und cvsdiscard zusammen! Es löscht alle nicht von CVS kontrollierten Dateien aus Ihrer Arbeitskopie und verwirft alle lokalen Änderungen.

Nur mit wirklich paranoider Vorsicht anwenden!

cvsdate

Dieses Programm ist scheinbar unvollständig und wird möglicherweise niemals fertig gestellt. (Siehe die Datei README für Details.)