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.)
|