m Folgenden eine Liste aller CVS-Befehle
Alternativen: ad, new
Erfordert: Arbeitskopie, Archiv
Ändert: Arbeitskopie
Fügt eine neue Datei einem existierenden Projekt hinzu. Obwohl das
Archiv zur Bestätigung kontaktiert wird, wird die Datei dem Archiv
nicht wirklich hinzugefügt, bis später commit ausgeführt wird. (Siehe
auch remove und import.)
Optionen:
-
-k METHODE
-
Spezifiziert, dass die Datei mit der angegebenen Methode zur
Schlüsselwortersetzung abgespeichert werden soll. Zwischen -k und dem
Argument ist kein Leerzeichen. (Für eine Liste gültiger Methoden und
Beispiele siehe auch den Abschnitt Schlüsselwortersetzung weiter
hinten in diesem Kapitel.)
-
-m MITTEILUNG
-
Vermerkt MITTEILUNG als ersten Eintrag zur Entstehung bzw.
Beschreibung der Datei. Diese unterscheidet sich von dem Log-Eintrag
bei späteren Revisionen - jede Datei hat nur genau eine Beschreibung.
Die Beschreibung ist optional.
Bemerkung:
In Version 1.10.7 gibt es einen Fehler in CVS, der zum Verlust der
Beschreibung führt, wenn eine Datei mittels Client/Server CVS
hinzugefügt wird. Alle anderen Funktionen des add-Kommandos werden
trotzdem einwandfrei ausgeführt, falls das ein Trost sein sollte.
|
Alternativen: adm, rcs
Erfordert: Arbeitskopie, Archiv
Ändert: Archiv
Dieses Kommando fungiert als Schnittstelle zu diversen administrativen
Aufgaben - um genau zu sein Aufgaben, die sich auf einzelne
RCS-Dateien innerhalb des Archivs beziehen, wie zum Beispiel die
Veränderung der Schlüsselwortersetzungs-Methode oder die Veränderung
einer Log-Mitteilung, nachdem diese bereits per commit gespeichert
wurden.
Obwohl admin rekursiv arbeitet, sofern keine Dateiargumente übergeben
wurden, ist es in den meisten Fällen sinnvoller, Dateien konkret zu
spezifizieren. Es hat nur selten Sinn, einen admin-Befehl auf alle
Dateien eines Projektes oder auch nur eines ganzen Verzeichnisses
anzuwenden. Dementsprechend beziehen sich alle Erklärungen, die mit
einer Datei zu tun haben, im Folgenden auf die im Befehl angegebene
Datei, manchmal Dateien.
Bemerkung:
Falls es auf dem Rechner mit dem Archiv eine Benutzergruppe namens
cvsadmin gibt, so dürfen nur zu dieser Gruppe gehörige Benutzer das
admin-Kommando ausführen. (Ausnahme: cvs admin -k ist für alle
erlaubt.) So können Sie admin für alle Benutzer sperren, indem Sie
diese Gruppe leer lassen.
Optionen:
-
-AALTE_DATEI (Überholt)
-
Hängt die RCS-Zugriffsliste der Datei ALTE_DATEI an die Zugriffsliste
der behandelten Datei an. CVS ignoriert RCS-Zugriffslisten, daher ist
diese Option nutzlos.
-
-a BENUTZER1 [,BENUTZER2...] (Überholt)
-
Hängt die BENUTZER in der durch Kommata separierten Liste der
Zugriffsliste der behandelten Datei an. Wie -A ist auch diese Option
wirkungslos.
-
-bREV
-
Setzt die Revision des Standardverzeichnisbaumes der Datei
(üblicherweise des Wurzelverzeichnisses) auf REV. Normalerweise
werden Sie diese Option nicht benötigen, da Sie die Revisionen, die
Sie benötigen, über bindende Markierungen erhalten, aber Sie könnten
Sie verwenden, um zu einer Vertriebsversion zurückzukehren, falls
Sie entsprechende Archivbereiche führen. Es sollte sich zwischen -b
und seinem Argument kein Leerzeichen befinden.
-
-cKOMMENTAR_PREFIX (Überholt)
-
Setzt das Kommentarzeichen der Datei auf KOMMENTAR_PREFIX. Dieses wird
weder von CVS noch von aktuellen RCS-Versionen verwendet. Diese
Option ist daher wirkungslos.
-
-eBENUTZER1 [,BENUTZER2...] (Überholt)
-
Gegenstück zu -a: Entfernt Benutzernamen aus der Zugriffsliste. Ebenso
wirkungslos wie -a und -A.
-
-i oder -I (Überholt)
-
Diese beiden sind so alt und überholt, dass ich nicht einmal auf ihre
frühere Bedeutung eingehe. Neugierige mögen den Cederqvist befragen.
-
-kMETHODE
-
Setzt die Methode der Schlüsselwortersetzung für die Datei auf
METHODE. Diese Option verhält sich wie die -k-Option des add-Befehls,
nur dass man hier die Methode ändern kann, nachdem die Datei dem
Archiv hinzugefügt wurde. (Siehe auch den Abschnitt zur
Schlüsselwortersetzung weiter hinten in diesem Kapitel.) Zwischen -k
und seinem Argument darf sich kein Leerzeichen befinden.
-
-L
-
Setzt das Locking der Datei auf strikt (siehe -l).
-
-l[REV]
-
Legt die Revision der Datei auf REV fest. Fehlt REV, so wird die
neueste verfügbare Revision auf dem Hauptentwicklungszweig gehalten.
Wenn REV ein Zweig des Archivs ist, so wird die aktuellste Revision in
diesem Zweig des Archivs festgehalten (Locking). Der Zweck dieser
Option ist, Ihnen eine Möglichkeit zu geben, reservierte Checkouts
zu machen, bei denen nur ein Benutzer auf einmal die Datei bearbeiten
kann. Ich bin nicht sicher, wie nützlich diese Option wirklich ist,
aber wenn Sie sie ausprobieren möchten, sollten Sie das eventuell in
Verbindung mit dem rcslock.pl-Skript aus dem contrib/-Verzeichnis der
CVS Quelltextdistribution machen. Siehe auch die Kommentare in jener
Datei für weitere Informationen. Unter anderem weisen diese Kommentare
darauf hin, dass das Locking auf strikt gesetzt werden muss (siehe
-L). Zwischen -l und dem Argument ist kein Leerzeichen.
-
-mREV:MITTEILUNG
-
Ändert die Log-Mitteilung für die Revision REV auf MITTEILUNG. Sehr
praktisch - neben -k ist dies die wohl meist genutzte Option zu admin.
Es sind keine Leerzeichen vor dem Argument oder um den Doppelpunkt
herum gestattet. Natürlich darf MITTEILUNG trotzdem Leerzeichen
enthalten (dann aber bitte die MITTEILUNG in Anführungszeichen setzen,
damit die Shell nicht durcheinander kommt!).
-
-NNAME[:[REV]]
-
Wie -n, nur dass es das Überschreiben jeder existierenden Zuweisung
des symbolischen Namens NAME erzwingt, anstatt mit einer Fehlermeldung
auszusteigen.
-
-nNAME[:[REV]]
-
Es handelt sich hier um eine allgemeine Schnittstelle zur Zuweisung,
Umbenennung und zum Löschen von Markierungen. Soweit ich das
beurteilen kann, gibt es keinen Grund, diese Option dem tag-Kommando
und seinen vielfältigen Optionen vorzuziehen (-d, -r, -b, -f usw.).
Ich empfehle daher die Benutzung des tag-Befehls. Der NAME und die
Optionale REV können sich auf folgende Arten zusammensetzen:
-
Falls nur das NAME-Argument angegeben wurde, wird der symbolische Name
(tag) namens NAME gelöscht. Falls NAME: angegeben wurde, aber kein
REV, so wird NAME der aktuellsten Revision des
Standardverzeichnisbaumes (üblicherweise der Hauptentwicklungslinie)
zugewiesen. Falls NAME:REV gegeben ist, wird NAME der Revision
zugeordnet. REV kann wiederum ein symbolischer Name sein, dann wird es
zunächst in eine Revisionsnummer übersetzt (kann auch die Nummer einer
abgezweigten Version sein). Falls REV die Nummer einer abgezweigten
Version ist und ein Punkt folgt (.), dann wird NAME der aktuellsten
Revision auf dieser abgezweigten Version zugewiesen. Ist REV nur $,
dann wird NAME den Revisionsnummern zugeordnet, die in den
Schlüsselwörtern der behandelten Datei(en) gefunden werden.
-
In allen Fällen, in denen ein Name zugewiesen wird, beendet sich CVS
mit einer Fehlermeldung, sofern schon eine Marke namens NAME in der
Datei existiert. (Ausnahme: siehe -N.) Es sind keine Leerzeichen
zwischen -n und seinen Argumenten.
-
-oBEREICH
-
Löscht die Revisionen, die durch BEREICH spezifiziert werden (auch
bekannt als Outdating, daher -o). BEREICH kann wie folgt angegeben
werden:
-
REV1::REV2
- Vernichtet alle Revisionen zwischen REV1 und REV2, sodass
in der Revisionshistorie REV2 direkt auf REV1 folgt. Nach dieser
Aktion sind alle Versionen dazwischen nicht mehr existent, und es gibt
einen Sprung in der Folge der Revisionen.
-
::REV
- Löscht alle Revisionen vom Anfang dieser abgezweigten Version
(die auch die Hauptentwicklungslinie sein kann) bis hin zu REV,
natürlich nicht inklusive REV. Danach ist REV die erste Revision in
diesem Bereich.
-
REV::
- Schreddert alle Revisionen, die in dieser abgezweigten Version
(die auch die Hauptentwicklungslinie sein kann) auf REV folgen. REV
ist dann die letzte Revision in diesem Bereich.
-
REV
- Löscht Revision REV. (-o1.8 wäre äquivalent zu -o1.7::1.9.)
-
REV1:REV2
- Löscht von REV1 bis REV2 inklusive! Sie müssen im selben
Entwicklungszweig sein. Danach ist es unmöglich, auf REV1, REV2 und
alle Revisionen dazwischen zuzugreifen.
-
:REV
- Löscht Revisionen vom Anfang des Entwicklungszweiges bis REV
inklusive. (Siehe vorhergehende Warnung.)
-
REV:
- Löscht beginnend mit REV bis zum Ende der abgezweigten Version
inklusive. (Siehe vorhergehende Warnung.)
Bemerkung:
Keine der zu löschenden Revisionen darf Entwicklungszweige oder Locks
haben. Sollten irgendwelchen der betroffenen Revisionen symbolische
Namen zugewiesen sein, müssen diese zunächst mit tag -d oder admin -n
gelöscht werden. (Genau genommen schützt CVS momentan nur dann gegen
das Löschen symbolisch benannter Revisionen, wenn die ::-Notation
verwendet wird, aber die :-Notation könnte sich diesem Verhalten
bald anpassen.)
Anstatt diese Option zu nutzen, um ein fehlerhaftes Commit zu löschen,
sollten Sie eine neue Version per Commit in das Archiv bringen, welche
die fehlerhafte Änderung wieder in Ordnung bringt. Es gibt keine
Leerzeichen zwischen -o und seinen Argumenten.
-
-q
-
Stellt CVS ruhig - keine unnötigen Mitteilungen werden generiert
(genau wie mit der globalen Option -q).
-
-sSTATUS[:REV]
-
Setzt das Statusattribut der Revision REV auf STATUS. Wird REV
weggelassen, so wird die aktuellste Revision des
Hauptentwicklungszweiges angenommen. Ist REV eine Markierung oder
Nummer einer abgezweigten Version, dann wird die aktuellste Revision
auf dieser abgezweigten Version verwendet. Beliebige Buchstaben- oder
Nummernfolgen für STATUS werden akzeptiert. Einige übliche
Statusbezeichnungen sind Exp für experimentell, Stab für stabil und
Rel für released (veröffentlicht). (Tatsächlich setzt CVS den Status
automatisch auf Exp, wenn eine Datei neu erzeugt wird.) Beachten Sie,
dass CVS die Statusbezeichnung dead für eigene Zwecke verwendet, also
geben Sie diese bitte nicht an. Statusinformationen werden in der cvs
log-Ausgabe sowie in den $Log- und $State-RCS-Schlüsselwörtern in
Dateien ausgegeben. Zwischen -s und seinem Argument sind keine
Leerzeichen.
-
-t[BESCHREIBUNGSDATEI]
-
Ersetzt die Beschreibung (den Log-Eintrag zur Entstehung) für die
Datei durch den Inhalt von BESCHREIBUNGSDATEI oder liest diesen von
der Standardeingabe, falls keine BESCHREIBUNGSDATEI angegeben wurde.
Diese nützliche Option funktioniert - leider - momentan nicht im
Client/Server-CVS. Außerdem wird jede existierende Beschreibung einer
Datei gelöscht und durch einen leeren String ersetzt, falls man
versucht, diese Option im Client/Server-CVS ohne Angabe von
BESCHREIBUNGSDATEI zu verwenden. Wenn Sie die Beschreibung einer Datei
erneuern müssen, dann tun Sie dies bitte nur lokal auf der Maschine
mit dem Archiv, oder benutzen Sie die Option -t-BESCHREIBUNG.
BESCHREIBUNGSDATEI darf nicht mit einem Bindestrich (-) beginnen
(siehe -t-BESCHREIBUNG).
-
-t-BESCHREIBUNG
-
Wie -t, nur dass hier BESCHREIBUNG direkt als Beschreibung verwendet
wird. BESCHREIBUNG darf Leerzeichen enthalten, wenn sie mit
Anführungszeichen eingeschlossen wird. Diese Variante funktioniert im
Client/Server-CVS und auch lokal ohne Probleme.
-
-U
-
Setzt das Locking auf nicht strikt. (Siehe auch -l und -L weiter oben.)
-
-u[REV]
-
Hebt die Sperrung der Revision REV auf (siehe -l.) Wird REV
weggelassen, so entsperrt CVS die aktuellste durch den Aufrufer
gesperrte Revision. Ist REV ein Entwicklungszweig, dann entsperrt CVS
die aktuellste gesperrte Revision in dieser abgezweigten Version. Wenn
jemand anders als der Sperrer einer Revision die Sperre wieder
aufhebt, so wird an denjenigen, der die Sperrung vorgenommen hat, eine
E-Mail verschickt. Die Person, welche die Sperre aufhebt, wird auf der
Kommandozeile um eine Stellungnahme für die E-Mail gebeten. Zwischen
-u und seinem Argument ist kein Leerzeichen.
-
-VRCS_VERSIONSNUMMER (Überholt)
-
Dies war einmal ein Weg, um CVS zur Erzeugung von RCS-Dateien zu
bewegen, die zu früheren RCS-Versionen kompatibel waren. Inzwischen
weicht das RCS-Format, das CVS benutzt, zunehmend von dem RCS-Format,
das RCS verwendet, ab, sodass diese Option nutzlos geworden ist. Die
Angabe dieser Option führt zu einer Fehlermeldung.
-
-xENDUNG (Überholt)
-
Theoretisch kann man mittels dieser Option die Dateiendung der
RCS-Dateien bestimmen. Leider verlassen sich CVS und seine Werkzeuge
darauf, dass diese Endung standardmäßig ist (,v), daher bewirkt
diese Option nichts.
|
Alternativen: ann
Erfordert: Arbeitskopie, Archiv
Ändert: Nichts
Zeigt Informationen darüber an, wer zuletzt welche Zeile jeder Datei
geändert hat und wann. Jede Ausgabezeile entspricht einer Zeile der
Datei. Von links nach rechts beinhaltet die Zeile die Revisionsnummer
der letzten Modifikation der Zeile, einen in Klammern stehenden
Ausdruck, der den Benutzer und das Datum der letzten Änderung
beinhaltet, einen Doppelpunkt und den Inhalt der Zeile in der Datei.
Wenn zum Beispiel eine Datei so aussieht:
Dies ist eine Testdatei
Sie hat nur zwai Zeilen
Ich meine zwei
dann können die Anmerkungen (annotations) für diese Datei so aussehen:
1.1 (jrandom 22-Aug-99): Dies ist eine Testdatei 1.1 (jrandom 22-Aug-99): Sie hat nur zwai Zeilen 1.2 (jrandom 22-Aug-99): Ich meine zwei
|
sodass Sie nun sehen, dass die ersten zwei Zeilen in der ersten
Revision waren und die letzte Zeile in Revision 1.2 hinzugefügt oder
geändert wurde (auch von jrandom).
Optionen:
-
-D DATUM
-
Zeigt die Anmerkungen der letzten Revision vor DATUM.
-
-f
-
Erzwingt die Anzeige der ersten Revision, falls die angegebene
Markierung oder ein angegebenes Datum nicht gefunden wurde. Sie können
diese Option in Verbindung mit -D und -r verwenden, um
sicherzustellen, dass in jedem Fall eine Ausgabe erfolgt, auch wenn es
nur Revision 1.1 der Datei ist.
-
-l
-
Lokal. Der Befehl bezieht sich nur auf das aktuelle
Arbeitsverzeichnis. Eventuelle Unterverzeichnisse werden nicht
behandelt.
-
-R
-
Rekursiv. Unterverzeichnisse werden ebenfalls behandelt. Da dies das
Standardverhalten ist, dient -R lediglich zur Änderung des Verhaltens
der -l-Option in .cvsrc-Dateien.
-
-r REV
-
Zeigt nur Anmerkungen zur Revision REV (kann eine Revisionsnummer oder
eine Marke sein).
|
Alternativen: co, get
Erfordert: Archiv
Ändert: Aktuelles Verzeichnis
Extrahiert ein Modul aus dem Archiv in eine lokale Arbeitskopie. Die
Arbeitskopie wird neu erzeugt, falls sie nicht existiert, und
aktualisiert, falls sie bereits existiert (siehe auch update.)
Optionen:
-
-A
-
Setzt alle bindenden Markierungen (Sticky Tags), Datumsangaben oder
Schlüsselwortersetzungs-Modi zurück. Diese Option entspricht der
-A-Option für den update-Befehl und wird dort wahrscheinlich häufiger
genutzt als hier bei checkout.
-
-c
-
Bewirkt, dass praktisch kein Checkout stattfindet; nur die
CVSROOT/modules-Datei wird sortiert auf die Standardausgabe
ausgegeben. Dies ist eine gute Methode, um einen Überblick darüber zu
bekommen, welche Projekte sich in einem Archiv befinden. Projekte ohne
Eintrag in der modules-Datei werden jedoch nicht aufgelistet. (Das ist
ganz normal, weil der Name des Hauptverzeichnisses eines Projektes im
Archiv standardmäßig als der Modulname des Projektes dient.)
-
-D DATUM
-
Führt einen Checkout der letzten Revisionen bis DATUM aus. Diese
Option ist bindend, d.h. Sie können anschließend aus der Arbeitskopie
keinen Commit mehr durchführen, ohne das gebundene Datum
zurückzusetzen (siehe -A). Diese Option impliziert -P, siehe unten.
-
-d VERZ
-
Erzeugt die Arbeitskopie in einem Verzeichnis VERZ, anstatt ein
Verzeichnis mit dem Namen des vom Checkout betroffenen Moduls zu
erzeugen. Wenn Sie nur einen Teil eines Projektes behandeln und dieser
Teil irgendwo unterhalb des Wurzelverzeichnisses des Projektes liegt,
werden die lokalen leeren Zwischenverzeichnisse weggelassen. Sie
können -N benutzen, um diese Sparmaßnahme zu unterbinden.
-
-f
-
Erzwingt einen Checkout der ersten Revision, falls die angegebene
Marke oder das angegebene Datum nicht gefunden wurde. Wird häufig in
Verbindung mit -D oder -r verwendet, um sicherzustellen, dass der
Checkout in jedem Fall erfolgreich ist.
-
-j REV[:DATUM] oder -j REV1[:DATUM] -j REV2[:DATUM]
-
Führt zwei Entwicklungslinien zu einer zusammen. Diese Option
entspricht der -j-Option zu update, die wesentlich häufiger Verwendung
findet (siehe update für weitere Details).
-
-k METHODE
-
Setzt die Methode zur Schlüsselwortersetzung für RCS auf METHODE (so
kann die standardmäßig eingestellte Methode für die behandelten
Dateien verändert werden). Siehe auch den Abschnitt zur
Schlüsselwortersetzung weiter hinten in diesem Kapitel. Die gewählte
Methode wird permanent an die betroffenen Dateien gebunden - spätere
Updates der Arbeitskopie werden sie beibehalten.
-
-l
-
Lokal; führt lediglich einen Checkout auf die Hauptentwicklungslinie
des Projektes aus. Unterverzeichnisse werden nicht behandelt.
-
-N
-
Unterdrückt das Weglassen leerer Unterverzeichnisse mit der -d-Option.
-
-n
-
Führt keines der Checkout-Programme aus, die in CVSROOT/modules mit
der -o-Option angegeben sind. (Siehe auch den Abschnitt
Archivverwaltungsdateien weiter hinten in diesem Kapitel für
weitere Informationen.)
-
-P
-
Löscht leere Verzeichnisse in der Arbeitskopie (entsprechend der
-P-Option zu update).
-
-p
-
Führt einen Checkout auf die Standardausgabe durch, nicht in Dateien
(entsprechend der -p-Option zu update).
-
-R
-
Behandelt auch rekursiv Unterverzeichnisse (dies ist der Normalfall).
Siehe auch die -f-Option.
-
-r MARKE
-
Führt einen Checkout der mit MARKE bezeichneten Revision durch. (Es
würde kaum Sinn haben, hier eine numerische Revision (REV) zu
verwenden, möglich ist es dennoch!) Diese Option bindet die mit MARKE
bezeichnete Revision und impliziert -P.
-
-s
-
Wie -c, zeigt aber den Status jedes Moduls und sortiert nach Status.
(Siehe auch CVSROOT/modules im Abschnitt
Archivverwaltungsdateien.)
|
Alternativen: ci, comm
Erfordert: Arbeitskopie, Archiv
Ändert: Archiv (und Verwaltungsdateien der Arbeitskopie)
Überträgt Änderungen einer Arbeitskopie in das Archiv.
Optionen:
-
-F MITTEILUNGSDATEI
-
Benutzt den Inhalt der MITTEILUNGSDATEI für den Log-Eintrag, anstatt
einen Editor zu aktivieren. Diese Option kann nicht mit -m kombiniert
werden.
-
-f
-
Erzwingt die Aktualisierung des Archivs mit einer neuen Revision, auch
wenn keinerlei Änderungen in der Arbeitskopie gemacht wurden. Commit
arbeitet mit dieser Option nicht rekursiv (d.h. es impliziert -l).
Rekursion kann mit der Option -R erzwungen werden.
Bemerkung:
Diese Bedeutung von -f stimmt mit der sonst üblichen Verwendung
(erzwinge die Verwendung der ersten Revision) in den CVS-Kommandos
nicht überein!
-
-l
-
Lokal; überträgt nur Änderungen aus dem aktuellen Verzeichnis.
Unterverzeichnisse werden nicht berücksichtigt.
-
-m MITTEILUNG
-
Verwendet MITTEILUNG als Log-Dateieintrag, anstatt einen Editor zu
aktivieren. Diese Option kann nicht mit -F kombiniert werden.
-
-n
-
Startet kein Modulprogramm. (Siehe auch den Abschnitt Archivverwaltungsdateien
in diesem Kapitel für weitere Informationen.)
-
-R
-
Überträgt Änderungen auch aus Unterverzeichnissen. Dies ist das
normale Verhalten, und die Option findet nur zur Aufhebung von -l in
.cvsrc-Dateien Verwendung.
-
-r REV
-
Überträgt Änderungen der Arbeitskopie in die Revision REV, die
entweder ein Entwicklungszweig sein muss oder eine Revision, die höher
als alle bisherigen Revisionen ist. Commits auf einer abgezweigten
Version werden immer an das Ende angehängt - Sie können eine früher
übertragene Version nicht aktualisieren. Die Nutzung dieser Option
bindet die Revision fest an die der übertragenen Dateien. Dies kann
mit update -A gelöscht werden. Die -r-Option impliziert -f. Eine neue
Revision wird auch dann übertragen, wenn keine Dateien in der
Arbeitskopie verändert wurden.
|
Alternativen: di, dif
Erfordert: Arbeitskopie, Archiv
Ändert: Nichts
Zeigt die Unterschiede zwischen zwei Revisionen (im Unix diff-Format)
an. Wenn diff ohne weitere Optionen aufgerufen wird, dann zeigt CVS
die (möglicherweise noch nicht durch einen Commit abgeglichenen)
Unterschiede zwischen den Basisrevisionen im Archiv und der
Arbeitskopie an. Die Basis-Revisionen bezeichnen dabei die letzten
Revisionen, die aus dieser Arbeitkopie heraus vom Archiv bezogen
wurden. Beachten Sie, dass es durchaus neuere Revisionen im Archiv
geben könnte, nämlich dann, wenn jemand anderes zwischenzeitlich einen
Commit irgendwelcher Änderungen vorgenommen hat, die noch nicht mit
einem Update in diese Arbeitskopie übernommen wurden.
Optionen:
-
-D DATUM
-
Erzeugt ein Diff gegen die neueste Revision, die nicht älter als DATUM
ist. Diese Option verhält sich wie -r REV, außer dass statt der
Revision ein Datum Verwendung findet.
-
-k METHODE
-
Expandiert RCS-Schlüsselwörter in den Diffs unter Verwendung der
angegebenen METHODE. (Siehe auch den Abschnitt
Schlüsselwortersetzung weiter hinten in diesem Kapitel.)
-
-l
-
Lokal; vergleicht nur Dateien aus dem aktuellen Verzeichnis.
Unterverzeichnisse werden nicht berücksichtigt.
-
-r REV oder -r REV1 -r REV2
-
Vergleicht entweder die aktuelle mit der angegebenen oder die beiden
angegebenen Revisionen miteinander. Mit einer -r-Option wird die mit
REV bezeichnete Revision aus dem Archiv mit der aktuellen Arbeitskopie
verglichen. Bei Angabe zweier -r-Argumente wird der Unterschied
zwischen den jeweils angegebenen Revisionen aus dem Archiv ermittelt.
Im letzteren Fall spielt die Arbeitskopie keine Rolle, und die
Revisionen können in beliebiger Reihenfolge angegeben werden - die
Ausgabe spiegelt dann die Richtung des Vergleichsvorganges wider.
Wird -r ganz weggelassen, so wird zwischen der Arbeitskopie und der
Revision, worauf letztere basiert, verglichen.
|
Zusätzlich zu den angegebenen Optionen verwendet cvs diff noch einige
Optionen, die mit der GNU-Version des normalen
Kommandozeilenprogrammes diff übereinstimmen. Es folgt eine komplette
Liste dieser Optionen, zusammen mit einer Erklärung einiger der
üblicherweise am häufigsten verwendeten. (Für weitere Informationen
siehe auch die GNU diff-Dokumentation.)
--0 -1 -2 -3 -4 -5 -6 -7 -8 -9
|
--binary
|
--brief
|
--changed-group-format=ARG
|
-c
|
-C NLINES
|
--context[=LINES]
|
-e --ed
|
-t --expand-tabs
|
-f --forward-ed
|
--horizon-lines=ARG
|
--ifdef=ARG
|
-w --ignore-all-space
|
-B --ignore-blank-lines
|
-i --ignore-case
|
-I REGEXP
|
--ignore-matching-lines=REGEXP
|
-h
|
-b --ignore-space-change
|
-T --initial-tab
|
-L LABEL
|
--label=LABEL
|
--left-column
|
-d --minimal
|
-N --new-file
|
--new-line-format=ARG
|
--old-line-format=ARG
|
--paginate
|
-n --rcs
|
-s --report-identical-files
|
-p
|
--show-c-function
|
-y --side-by-side
|
-F REGEXP
|
--show-function-line=REGEXP
|
-H --speed-large-files
|
--suppress-common-lines
|
-a --text
|
--unchanged-group-format=ARG
|
-u
|
-U NLINES
|
--unified[=LINES]
|
-V ARG
|
-W COLUMNS
|
--width=COLUMNS
|
Folgende GNU diff-Optionen werden am häufigsten mit cvs diff benutzt:
-
-B
-
Ignoriert Unterschiede, die auf das Einfügen oder Löschen leerer
Zeilen hinauslaufen.
-
-b
-
Ignoriert Unterschiede in der Anzahl von Leerzeichen. Diese Option
behandelt alle Folgen von Leerzeichen gleichwertig und ignoriert
Leerzeichen am Zeilenende. Technischer ausgedrückt komprimiert diese
Option alle Folgen von Leerzeichen auf je ein einziges und löscht
Leerzeichen vom Zeilenende, bevor ein Vergleich stattfindet (siehe
auch -w).
-
-c
-
Erzeugt Ausgaben im Kontext, d.h. üblicherweise werden um jeden
aufgelisteten Unterschied drei Zeilen des umgebenden Quelltextes (eben
der Kontext) angezeigt. (Dies wird gemacht, damit das patch-Programm
verwendet werden kann, das mindestens zwei Zeilen Kontext benötigt.)
-
-C ANZ oder --context ANZ
-
Wie -c, aber mit ANZ Zeilen an Kontext.
-
-i
-
Der Vergleich nimmt mit -i keine Rücksicht auf Groß- und Kleinschreibung.
-
-u
-
Zeigt die Ausgabe im so genannten unified diff-Format an.
-
-w
-
Ignoriert alle Unterschiede bei Leerzeichen, sogar dann, wenn in der
einen Datei an einer Stelle Leerzeichen sind, wo in der anderen
überhaupt keine sind. Im Grunde eine verschärfte Version von -b.
Alternativen: Keine
Erfordert: Arbeitskopie, Archiv
Ändert: Zugriffsrechte in der Arbeitskopie, Watchliste im Archiv
Signalisiert, dass Sie dabei sind, beobachtete Datei(en) zu
bearbeiten. Sie werden außerdem als temporärer Beobachter der
Beobachterliste der Datei hinzugefügt. (Wenn Sie cvs unedit ausführen,
werden Sie von der Liste entfernt; siehe auch watch, watchers,
unedit und editors.)
Optionen:
-
-a AKTIONEN
-
Legt fest, für welche Aktionen Sie temporärer Beobachter sein möchten.
AKTIONEN sollten entweder edit, unedit, commit, all oder none sein.
(Bei Nichtbenutzung von -a wird automatisch all angenommen.)
-
-l
-
Lokal; signalisiert das Bearbeiten nur für Dateien im aktuellen Verzeichnis.
-
-R
-
Rekursiv (dies ist die Standardeinstellung). Gegenteil von -l. -R
nutzt nur, um ein -l in der .cvsrc-Datei rückgängig zu machen.
|
Alternativen: Keine
Erfordert: Arbeitskopie, Archiv
Ändert: nichts
Zeigt an, wer im Moment eine beobachtete Datei editiert (siehe auch
watch, watchers, unedit und edit).
Optionen:
-
-l
-
Lokal; Anzeige nur für Dateien im aktuellen Verzeichnis.
-
-R
-
Rekursiv (dies ist die Standardeinstellung). Sie könnten -R benötigen,
um ein -l in einer .cvsrc-Datei rückgängig zu machen.
|
Alternativen: exp, ex
Erfordert: Archiv
Ändert: Aktuelles Verzeichnis
Exportiert Dateien aus dem Archiv, um einen Projektbaum zu erzeugen,
der keine Arbeitskopie darstellt (d.h. alle CVS/-Verwaltungsdateien
fehlen). Hauptsächlich nützlich, um ein Distributionsarchiv
zusammenzustellen.
Optionen:
-
-D DATUM
-
Exportiert die neueste Revision, die nicht älter ist als DATUM.
-
-d VERZ
-
Exportiert in das Verzeichnis VERZ (andernfalls wird der
Verzeichnisname aus dem Modulnamen des Projekts genommen).
-
-f
-
Erzwingt die Verwendung der ersten Revision, falls eine gegebene
Bezeichnung oder Revision nicht gefunden werden kann (zur Nutzung mit
-D oder -r).
-
-k METHODE
-
Expandiert RCS-Schlüsselwörter nach der angegebenen METHODE. (Siehe
den Abschnitt über Schlüsselwortersetzung weiter hinten in diesem
Kapitel.)
-
-l
-
Lokal; exportiert nur das Hauptverzeichnis, keine Unterverzeichnisse.
-
-N
-
Verhindert das Weglassen leerer Unterverzeichnisse. Entspricht der
Option -N beim checkout.
-
-n
-
Startet keine modulspezifischen Programme, wie sie in CVSROOT/modules
angegeben werden können. (Siehe auch den Abschnitt
Archivverwaltungsdateien in diesem Kapitel für weitere
Informationen.)
-
-P
-
Leere Verzeichnisse werden weggelassen (wie die -P-Option bei checkout
oder update).
-
-R
-
Rekursiv (dies ist die Standardeinstellung). Alle Unterverzeichnisse
des aktuellen Verzeichnisses werden exportiert. Sie könnten -R
benötigen, um ein -l in einer .cvsrc-Datei rückgängig zu machen.
-
-r REV
-
Exportiert die Revision REV. REV ist fast immer ein Name, keine
numerische Revision.
|
Dies ist der GSSAPI-(Generic Security Services API-)Server. Dieses
Kommando wird normalerweise nicht direkt von Benutzern ausgeführt. Es
wird hingegen serverseitig gestartet, wenn ein Benutzer von einem
Gastrechner mit der :gserver:-Zugriffsmethode eine Verbindung
aufbaut:
user@linux ~$
cvs -d :gserver:jrandom@floss.red-bean.com:/usr/local/repos checkout projekt
|
Bemerkung:
GSSAPI verwendet, unter anderem, die Kerberos-Version 5; für die
Kerberos-Version 4 verwenden Sie bitte die :kserver:-Methode.
Die Konfiguration und Benutzung einer GSSAPI-Bibliothek auf Ihren
Maschinen ist jenseits des Umfanges dieses Buches. (Für weitere
Hinweise siehe auch den Abschnitt GSSAPI Authenticated im
Cederqvist.)
Optionen: Keine
|
Alternativen: hi, his
Erfordert: Archiv, CVSROOT/history
Ändert: Nichts
Zeigt eine zeitlich geordnete Auflistung der Aktivitäten im Archiv.
Genauer gesagt zeigt diese Option eine Auflistung der Verwendung aller
folgenden Kommandos: checkout, commit, rtag, update und release.
Standardeinstellung ist das Auflisten von Checkouts (siehe aber die
Option -x). Dieses Kommando funktioniert nicht, wenn die Datei
CVSROOT/history im Archiv nicht existiert.
Das history-Kommando unterscheidet sich von anderen CVS-Kommandos auf
mehrere Arten. Erstens benötigt es üblicherweise unbedingt Optionen,
um etwas Sinnvolles zu tun (und einige dieser Optionen bedeuten hier
etwas völlig anderes als bei den anderen CVS-Kommandos üblich).
Zweitens nimmt es anstatt ganzer Dateinamen auch einen oder mehrere
Wortbestandteile und listet dann alle Dateien auf, in deren Namen
mindestens einer dieser Bestandteile vorkommt. Drittens sieht die
Ausgabe von history ziemlich nach zufälligem Buchstabenmüll aus,
solange man nicht gelernt hat, sie richtig zu interpretieren - daher
wird das Ausgabeformat in einem eigenen Abschnitt im Anschluss an die
Optionen erklärt (siehe auch log).
Optionen:
-
-a
-
Zeigt eine Liste für alle Benutzer (normalerweise werden nur die
eigenen Aktivitäten gelistet).
-
-b ZEICHENKETTE
-
Listet alles bis zum ersten Eintrag, der ZEICHENKETTE im Modulnamen,
Dateinamen oder Archivpfad enthält.
-
-c
-
Commits werden mit aufgelistet.
-
-D DATUM
-
Zeigt alle Daten seit DATUM (die üblichen CVS-Datumsformate sind
anwendbar).
-
-e
-
Alle Arten von Einträgen werden gelistet.
-
-f DATEI
-
Zeigt die letzte aufgezeichnete Aktion an, die auf der Datei DATEI
ausgeführt wurde. Diese Option kann mehrfach verwendet werden.
Beachten Sie, dass hier -f eine andere Wirkung hat als bei den übrigen
CVS-Kommandos: Erzwinge neuste Revision, wenn alles andere
fehlschlägt.
-
-l
-
Letztes; listet den jeweils letzten (neuesten) Eintrag jedes Projektes. Beachten
Sie, dass hier -l eine andere Wirkung
hat als bei den übrigen CVS-Kommandos: Lokal ausführen, keine
Unterverzeichnisse.
-
-m MODUL
-
Dies erzeugt einen kompletten Report über MODUL (ein Projektname).
Diese Option kann mehrfach verwendet werden.
-
-n MODUL
-
Listet das letzte (aktuellste) Ereignis, das für ein MODUL
aufgezeichnet wurde. So ist, z.B. der Checkout eines Moduls ein
Modulereignis, aber das Ändern oder Aktualisieren einer Datei
innerhalb des Moduls ist ein Dateiereignis. Diese Option kann mehrfach
verwendet werden. Beachten Sie, dass hier -n eine andere Wirkung hat
als bei den übrigen CVS-Kommandos: Keine
CVSROOT/modules-Modulprogramme starten.
-
-o
-
Listet Checkout-Einträge (dies ist die Standardeinstellung).
-
-p ARCHIV
-
Zeigt die Daten für ein bestimmtes Verzeichnis im Archiv. Diese Option
kann mehrfach verwendet werden. Beachten Sie, dass hier -p eine andere
Wirkung hat als bei den übrigen CVS-Kommandos: Daten auf die
Standardausgabe anstatt in eine Datei schreiben.
Bemerkung:
Diese Option scheint zumindest teilweise fehlerhaft zu sein (Stand Sommer 1999).
-
-r REV
-
Listet Einträge, die sich auf Revisionen nach der ersten Revision
beziehen, ab der die Revision oder Marke mit dem Namen REV in
einzelnen RCS-Dateien zu finden ist. Jede RCS-Datei wird dazu nach REV
durchsucht.
-
-T
-
Listet alle Markierungsvorgänge.
-
-t MARKE
-
Zeigt alle Einträge, seit MARKE das letzte Mal zurhistory-Datei
hinzugefügt wurde. Im Unterschied zur -r-Option wird hier nur die
DateiCVSROOT/history durchsucht, und die Option ist daher wesentlich
schneller.
-
-u BENUTZER
-
Zeigt alle Vorfälle, die mit einem BENUTZER in Zusammenhang stehen.
Diese Option kann mehrfach verwendet werden.
-
-w
-
Zeigt alle Einträge, die sich auf das Verzeichnis beziehen, aus dem
Sie das history-Kommando aufrufen.
-
-X HISTORY-DATEI
-
Benutzt HISTORY-DATEI anstatt CVSROOT/history. Diese Option dient
hauptsächlich zur Fehlersuche und wird nicht offiziell unterstützt;
Sie könnten sie trotzdem nützlich finden (z.B. um Reports aus alten
history-Dateien zu erzeugen, die Sie aufgehoben haben).
-
-x ARTEN
-
Listet Vorfälle der angegebenen ARTEN auf. Jede Art von Eintrag wird
durch einen Buchstaben aus der Liste TOEFWUCGMAR repräsentiert;
beliebige Kombinationen aus diesen Buchstaben sind erlaubt. Ihre
Bedeutung ist:
-
T MARKE
-
O Checkout
-
E Export
-
F Release
-
W Aktualisierung (bedeutungslos gewordene Datei aus Arbeitskopie gelöscht)
-
U Aktualisierung (Datei wurde durch Checkout überschrieben)
-
C Aktualisierung (Dateien wurden kombiniert, Konflikte traten auf)
-
G Aktualisierung (Dateien wurden kombiniert, keine Konflikte)
-
M Commit (Datei wurde verändert)
-
A Commit (Datei wurde hinzugefügt)
-
R Commit (Datei wurde entfernt)
-
Die Standardeinstellung, falls -x nicht angegeben wird, ist Checkouts
anzuzeigen (wie -x O).
-
-z ZONE
-
Listet Zeiten in Übereinstimmung mit der Zeitzone ZONE auf. ZONE ist
eine Abkürzung für die gewünschte Zeitzone wie zum Beispiel UTC, GMT,
BST, CET.1 Eine vollständige Liste aller Zeitzonen ist in der Datei
lib/getdate.c in der CVS Quelltext-Distribution enthalten.
|
|
Die Ausgabe des history-Befehls ist eine Folge von Zeilen; jede Zeile
stellt ein Ereignis aus der History-Datei dar und beginnt mit einem
einzelnen Symbolbuchstaben, der die Art des Ereignisses signalisiert.
Zum Beispiel:
user@linux ~$
cvs history -D yesterday -x TMO
M 08/21 20:19 +0000 jrandom 2.2 baar myproj == <remote> M 08/22 04:18 +0000 jrandom 1.2 README myproj == <remote> O 08/22 05:15 +0000 jrandom myproj =myproj= ~/src/* M 08/22 05:33 +0000 jrandom 2.18 README.txt myproj == ~/src/myproj O 08/22 14:25 CDT jrandom myproj =myproj= ~/src/* O 08/22 14:26 CDT jrandom [99.08.23.19.26.03] myproj =myproj= ~/src/* O 08/22 14:28 CDT jrandom [Exotic_Greetings-branch] myproj =myproj= ~/src/*
|
Die Symbolbuchstaben sind dieselben wie bei der obigen -x-Option. Auf
den Buchstaben folgt das Datum des Ereignisses (in der Zeitzone
UTC/GMT, falls nicht -z verwendet wurde), gefolgt von dem Namen des
Benutzers, der für das Ereignis verantwortlich ist.
Hinter dem Benutzer kann eine Revisionsnummer, eine Marke oder ein
Datum stehen, aber nur falls es dem entsprechenden Ereignis angemessen
ist. (Datum oder Marke stehen in eckigen Klammern und sind wie oben
gezeigt formatiert.) Beim Commit einer Datei steht dort die neue
Revisionsnummer; wenn Sie mit -D oder -r einen Checkout machen, dann
wird das gebundene Datum oder die angegebene Marke in eckigen Klammern
angezeigt. Bei einem einfachen Checkout wird gar nichts angezeigt.
Als Nächstes kommt der Name der Datei, auf die sich der Eintrag
bezieht bzw. der Name des Moduls, falls sich das Ereignis auf ein
Modul bezieht. Im ersteren Fall folgen als Nächstes der
Modul-/Projektname und der Name und das Verzeichnis der Arbeitskopie
im Home-Verzeichnis des Benutzers. Im letzteren Fall sind die nächsten
zwei Dinge, die auf das Modul folgen, der Name der ausgecheckten
Arbeitskopie des Moduls (zwischen zwei Gleichheitszeichen), gefolgt
von deren Standort im Home-Verzeichnis des Benutzers. (Der Name des
Moduls in der Arbeitskopie kann von dem im Archiv abweichen, falls die
Option -d beim Checkout verwendet wurde.)
Alternativen: im, imp
Erfordert: Archiv, aktuelles Verzeichnis (das Quellverzeichnis)
Ändert: Archiv
Fügt neuen Quelltext in das Archiv ein, wobei entweder ein neues
Projekt oder ein neuer Entwicklungszweig eines existierenden Projekts
erzeugt wird. (Für eine grundlegende Erklärung von Entwicklungszweigen
in import siehe auch Kapitel 6, das hilft Ihnen das Folgende zu
verstehen.)
Es ist normal, import dazu zu verwenden, viele Dateien oder
Verzeichnisse auf einen Schlag einem Projekt hinzuzufügen oder um ein
neues Projekt zu kreieren. Um einzelne Dateien hinzuzufügen, sollten
Sie add verwenden.
Optionen:
-
-b ZWEIG
-
Importiert in den Entwicklungszweig ZWEIG. (ZWEIG ist eine echte
Verzweigungsnummer, keine Marke.) Diese Option wird selten genutzt,
kann aber nützlich sein, wenn man Quelltexte für dasselbe Projekt von
unterschiedlichen Lieferanten erhält. Ein normales import-Kommando
nimmt an, dass die Quelltexte in den Standardentwicklungszweig für
externe Quelltexte importiert werden sollen, der 1.1.1 ist. Weil das
üblich ist, macht sich meist keiner die Mühe, -b zu verwenden.
user@linux ~$
cvs import -m "import von Lieferant 1" derenprojekt MARKE1 MARKE1-0
|
-
-
Um einen anderen Entwicklungszweig als den normalen zu importieren,
müssen Sie die Nummer des Zweiges explizit angeben:
user@linux ~$
cvs import -b 1.1.3 -m "von Lieferant 2" derenprojekt MARKE2 MARKE2-0
|
-
-
Der 1.1.3-Zweig kann, wie jeder andere auch, weitere zukünftige
Imports aufnehmen und ebenfalls wie jeder andere in die
Hauptentwicklungslinie integriert werden. Dabei müssen Sie jedoch
darauf achten, dass alle zukünftigen Imports, die -b 1.1.3 verwenden,
auch dieselbe Marke (MARKE2) benutzen. CVS prüft nicht, ob die Nummer
und die Marke einer abgezweigten Version übereinstimmen. Sollte dies
jedoch nicht der Fall sein, werden unschöne und nicht vorhersagbare
Dinge passieren.
Bemerkung:
Entwicklungszweige von externen Lieferanten [Vendor Branches,
Anm.d.Übers.] werden normalerweise ungerade nummeriert, interne
hingegen gerade.
-
-d
-
Vermerkt den Zeitpunkt der letzten Änderung der Quelldateien anstatt
der aktuellen Zeit als Zeitpunkt des Imports. Dies funktioniert nicht
mit Client/Server-CVS.
-
-I NAME
-
Dateien mit dem Namen NAME werden beim Import ignoriert. Diese Option
kann mehrfach verwendet werden. Wildcards werden unterstützt: Bei
Angabe von *.foo werden alle Dateien ignoriert, die auf .foo enden.
(Für weitere Details zu Wildcards siehe auch CVSROOT/cvsignore im Abschnitt
Archivverwaltungsdateien.) Die folgenden Datei- und Verzeichnisnamen
werden standardmäßig ignoriert:
.
|
..
|
.#*
|
#*
|
,*
|
_$*
|
*~
|
*$
|
*.a
|
*.bak
|
*.BAK
|
*.elc
|
*.exe
|
*.ln
|
*.o
|
*.obj
|
*.olb
|
*.old
|
*.orig
|
*.rej
|
*.so
|
*.Z
|
.del-*
|
.make.state
|
.nse_depinfo
|
core
|
CVS
|
CVS.adm
|
cvslog.*
|
RCS
|
RCSLOG
|
SCCS
|
tags
|
TAGS
|
-
-
Sie können das Ignorieren dieser sowie eventuell weiterer, in
.cvsignore, CVSROOT/cvsignore oder der Umgebungsvariablen CVSIGNORE
aufgelisteter Dateinamen unterdrücken, indem Sie die Option -I !
verwenden. Das heißt,
user@linux ~$
cvs import -I ! -m "importiere das Universum" proj MARKE MARKE_0
|
-
-
importiert alle Dateien im aktuellen Verzeichnisbaum, auch solche, die
normalerweise ignoriert werden würden.
-
Die Benutzung von -I ! löscht jede eventuell vorher erstellte Liste
von zu ignorierenden Dateien, auch vorher angegebene -I-Optionen. Alle
darauf folgenden -I-Optionen werden jedoch berücksichtigt. Daher ist
user@linux ~$
cvs import -I ! -I README.txt -m "Mitteilung" projekt BLA BLA_0
|
user@linux ~$
cvs import -I README.txt -I ! -m "Mitteilung" projekt BLA BLA_0
|
-
-
Im ersten Fall wird README.txt nicht importiert, im letzteren Fall schon.
-
-k METHODE
-
Legt die Methode zur RCS-Schlüsselwortersetzung für die importierten
Dateien fest. (Für eine Liste gültiger Methoden siehe auch
Schlüsselwortersetzung später in diesem Kapitel.)
-
-m MITTEILUNG
-
Zeichnet die MITTEILUNG als die Import-Log-Mitteilung auf.
-
-W FILTER
-
Spezifiziert dateinamenbasierte Filter, die für import gültig sein
sollen. Diese Option kann mehrfach verwendet werden. (Zu Details über
diese Filter siehe auch CVSROOT/cvswrappers im Abschnitt
Archivverwaltungsdateien.)
|
Alternativen: Keine
Erfordert: Einen Platz für das neue Archiv
Ändert: Archiv
Erzeugt ein neues Archiv (also ein Hauptarchiv, in dem dann viele
verschiedene Projekte abgelegt werden können). Fast immer werden Sie
hier die globale Option -d verwenden wollen, so wie in
user@linux ~$
cvs -d /usr/local/neues_archiv init
|
denn selbst wenn Sie eine CVSROOT-Umgebungsvariable gesetzt haben,
zeigt diese wahrscheinlich auf ein bereit existentes Archiv, was im
Zusammenhang mit diesem Befehl nutzlos oder gar gefährlich sein
könnte. (Zu weiteren Schritten, die nach der Initialisierung eines
Archivs unternommen werden sollten, siehe Kapitel 4.)
Optionen: Keine
|
Dies ist der Kerberos-Server. (Falls Sie Kerberos-Bibliotheken Version
4 oder kleiner haben - Version 5 verwendet nur GSSAPI, siehe
gserver.) Dieses Kommando wird normalerweise nicht direkt von
Benutzern gestartet. Es wird hingegen serverseitig gestartet, wenn ein
Benutzer von einem Gastrechner mit der :kserver: Zugriffsmethode eine
Verbindung aufbaut:
user@linux ~$
cvs -d :kserver:jrandom@floss.red-bean.com:/usr/local/repos checkout projekt
|
Die Konfiguration und Benutzung von Kerberos auf Ihrer Maschine an
dieser Stelle zu erläutern, würde den Umfanges dieses Buches
überschreiten. (Für einige nützliche Hinweise siehe auch den Abschnitt
Kerberos Authenticated im Cederqvist.)
Optionen: Keine
|
Alternativen: lo, rlog
Erfordert: Arbeitskopie, Archiv
Ändert: Nichts
Zeigt Log-Einträge für ein Projekt oder Dateien innerhalb eines
Projektes an. Die Ausgabe von log ist nicht gerade im selben Stil wie
die Ausgaben anderer CVS-Kommandos, da log auf einem älteren
RCS-Programm basiert (rlog). Sein Ausgabeformat enthält einen
Kopfteil, in dem verschiedene, nicht revisionsspezifische Details über
die Datei enthalten sind, gefolgt von den eigentlichen
Log-Mitteilungen (geordnet nach Revision). Jede Revision enthält nicht
nur die Revisionsnummer und eine Mitteilung, sondern auch den Autor
und das Datum der Änderung sowie die Anzahl der hinzugefügten oder
gelöschten Zeilen. Alle Zeitangaben werden in UTC (GMT) angegeben,
nicht Lokalzeit.
Da log-Ausgaben dateiweise erfolgen, muss ein einzelner Commit, der
mehrere Dateien umfaßt, nicht unbedingt auch in geschlossener Form
erscheinen. Wenn Sie jedoch alle Log-Mitteilungen und Daten aufmerksam
verfolgen, dann ist es möglich zu rekonstruieren, was vorging. (Für
Informationen über ein Programm, das mehrere Log-Dateien zu einer
wesentlich lesbareren Form zusammenfassen kann, siehe auch cvs2cl.pl:
die Erzeugung von Change-Logs im GNU-Stil aus CVS Logs
in Kapitel 10; siehe auch history.)
Optionen:
Wenn Sie die folgenden Filteroptionen betrachten, wird möglicherweise
nicht auf Anhieb klar, wie diese sich verhalten, wenn man sie
kombiniert. Eine exakte Beschreibung des Verhaltens von log ist die,
dass es stets die Schnittmenge der mit -d, -s und -w selektierten
Revisionen, geschnitten mit der Vereinigungsmenge der mit -b und -r
gewählten, anzeigt.
-
-b
-
Gibt nur Log-Informationen über den Standardentwicklungszweig aus
(üblicherweise die höchste Abzweigung in der Hauptentwicklungslinie).
Diese Option wird üblicherweise benutzt, um die Ausgabe von
Log-Mitteilungen aus Seitenzweigen der Entwicklung zu unterdrücken.
-
-dDATUM
-
Selektiert Log-Informationen für die Revisionen, deren Datum zu dem
Datum oder zu dem Datumsbereich passt, der durch DATUM gegeben ist,
einer durch Semikola separierten Liste. Die Datumsangaben können in
jedem der üblichen Datumsformate gehalten sein (siehe Datumsformate
weiter vorne in diesem Kapitel) und können wie folgt in Bereiche
kombiniert werden:
-
DATUM1<DATUM2
-
Bezeichnet Revisionen, die zwischen DATUM1 und DATUM2 entstanden sind.
Falls DATUM1 zeitlich auf DATUM2 folgt, sollte > anstatt von <
verwendet werden; sonst bleibt die Anweisung wirkungslos.
-
<DATUM DATUM>
-
Alle Revisionen vonDATUM oder früher.
-
<DATUM DATUM>
-
Alle Revisionen vonDATUM oder später.
-
DATUM
-
Bezeichnet die einzige aktuellste Version vom DATUM oder früher.
Sie können <= und >= anstatt von < und > verwenden, um einen
inklusiven Bereich zu definieren (ansonsten sind die Bereiche
exklusiv). Mehrere Bereiche können durch Semikola getrennt definiert
werden, so selektiert zum Beispiel
user@linux ~$
cvs log -d"199-06-01<1999-07-01;1999-08-01<1999-09-01"
|
alle Log-Mitteilungen für Revisionen, deren Commit im Juni oder August
1999 durchgeführt wurde (wobei Juli ausgelassen wird). Es dürfen keine
Leerzeichen zwischen -d und seinen Argumenten stehen.
-
-h
-
Gibt nur den Kopfteil der Information zu jeder Datei aus, der den
Dateinamen, das Arbeitsverzeichnis, die aktuellste Revision, den
Entwicklungszweig, die Zugriffsliste, Sperren (Locks), symbolische
Namen (Marken) und die für diese Datei eingestellte Methode der
Schlüsselwortersetzung enthält. Es werden keine Log-Mitteilungen
ausgegeben.
-
-l
-
Lokal; bezieht sich nur auf Dateien im aktuellen Verzeichnis.
-
-N
-
Lässt die Liste der symbolischen Namen (Marken) aus dem Kopfteil weg.
Dies kann nützlich sein, wenn Ihr Projekt viele Markierungen
beinhaltet, Sie aber nur an den Log-Mitteilungen interessiert sind.
-
-R
-
Gibt den Namen der RCS Datei in dem Archiv aus.
Bemerkung:
Diese Bedeutung von -R unterscheidet sich von der sonst in
CVS-Befehlen üblichen Funktion: Rekursiv. Daher gibt es keine
Möglichkeit, ein in Ihrer .cvsrc-Datei für dieses Kommando vorhandenes
-l aufzuheben. Schreiben Sie daher nicht log -l in Ihre .cvsrc-Datei.
-
-rREVS
-
Zeigt Log-Informationen zu den in REVS spezifizierten Revisionen -
eine durch Kommata separierte Liste. REVS kann sowohl Revisionsnummern
als auch symbolische Namen enthalten. Bereiche können wie folgt
definiert werden:
-
REV1:REV2
Revisionen von REV1 bis REV2 (auf demselben Entwicklungszweig!)
-
:REV
Revisionen vom Beginn der abgezweigten Version bis REV (inklusive)
-
REV:
Revisionen von REV bis zum Ende der abgezweigten Version
-
ZWEIG
Alle Revisionen einer abgezweigten Version von Anfang bis Ende
-
ZWEIG1:ZWEIG2
Mehrere Entwicklungszweige - alle Revisionen auf allen Zweigen im
angegebenen Bereich
-
ZWEIG.
Die aktuellste Revision von ZWEIG
Zudem selektiert ein allein stehendes -r ohne Argument die neueste
Revision des Standardzweiges (normalerweise der
Hauptentwicklungslinie). Leerzeichen zwischen -r und seinem Argument
sind nicht gestattet.
Bemerkung:
Wenn das Argument zu -r eine Liste ist, muss diese durch Kommata
getrennt sein, nicht durch Semikola wie in -d.
-
-sSTATUS
-
Findet Revisionen, deren Statusattribut mit einem der in STATUS
angegebenen Zustände übereinstimmt, eine durch Kommata separierte
Liste. Zwischen -s und seinem Argument darf kein Leerzeichen sein.
Bemerkung:
Wenn das Argument zu -s eine Liste ist, muss diese durch Kommata
getrennt sein, nicht durch Semikola wie in -d.
-
-t
-
Wie -h, beinhaltet aber zusätzlich die Dateibeschreibung (die beim
ersten Erstellen der Datei entstand).
-
-wBENUTZER
-
Findet Revisionen, deren Commit die Benutzer veranlasst haben, die in
der durch Kommata separierten Liste BENUTZER aufgelistet sind. Ein -w
ohne Argumente bewirkt eine Suche nach dem Benutzer, der cvs log
gestartet hat. Bedenken Sie, dass, wenn Benutzer-Aliasing aktiviert
ist, CVS den CVS-Benutzernamen anstatt des Systembenutzernamens beim
commit aufzeichnet. Leerzeichen zwischen -w und seinem Argument sind
nicht möglich.
Bemerkung:
Wenn das Argument zu -w eine Liste ist, muss diese durch Kommata
getrennt sein, nicht durch Semikola wie in -d.
|
Alternativen: logon, lgn
Erfordert: Archiv
Ändert: ~/.cvspass-Datei
Kontaktiert einen CVS-Server und überprüft die Zugangsberechtigung für
ein bestimmtes Archiv. Dieses Kommando beeinflusst weder das Archiv
noch eine Arbeitskopie; es überprüft lediglich das Passwort (zur
Nutzung mit der :pserver:-Zugriffsmethode) für ein Archiv und
speichert das Passwort zur späteren Benutzung in der .cvspass-Datei in
Ihrem Home-Verzeichnis. Zukünftige Kommandos, die auf dasselbe Archiv
mit demselben Benutzernamen zugreifen, erfordern dann kein erneutes
Starten von login, da Ihr CVS einfach die Datei.cvspass konsultiert,
um das Passwort zu erfahren.
Wenn Sie dieses Kommando verwenden, dann sollten Sie ein Archiv unter
Verwendung der pserver-Zugriffsmethode angeben, beispielsweise
user@linux ~$
cvs -d :pserver:jrandom@floss.red-bean.com:/usr/local/archiv
|
oder durch Setzen der CVSROOT-Umgebungsvariablen.
Wenn sich das Passwort auf dem Server ändert, müssen Sie login erneut starten.
Optionen: Keine
|
Alternativen: Keine
Erfordert: ~/.cvspass-Datei
Ändert: ~/.cvspass-Datei
Das Gegenteil von login - entfernt das Passwort für das angegebene
Archiv aus der .cvspass-Datei.
Optionen: Keine
|
Alternativen: Keine
Erfordert: Archiv
Ändert: Nichts
Pserver ist der passwortauthentisierende Server. Dieser Befehl wird
normalerweise nicht direkt von Benutzern ausgeführt. Er wird vielmehr
durch /etc/inet.conf gestartet, wenn ein Benutzer von einem
Gastrechner mit der :pserver:-Zugriffsmethode eine Verbindung aufbaut.
(Siehe auch login, logout und .cvspass im Abschnitt
Laufzeit-Kontrolldateien in diesem Kapitel. Für Details zur
Konfiguration eines passwortauthentisierenden CVS-Servers siehe
Kapitel 4.)
Optionen: keine
|
Alternativen: patch, pa
Erfordert: Archiv
Ändert: Nichts
Wie das diff-Kommando, mit dem Unterschied, dass es direkt im Archiv
arbeitet und daher keine Arbeitskopie erfordert. Dieses Kommando ist
zur Ermittlung von Unterschieden zwischen verschiedenen Versionen
Ihrer Projekte gedacht. Die Ausgabe erfolgt in einem Format, das als
Eingabe für das patch-Programm verwendet werden kann (sodass Sie ggf.
Patches für Benutzer verteilen können, die Ihre Programme aktualisieren
möchten).
Die Benutzung des Programmes patch liegt außerhalb des Themenbereiches
dieses Buches. Seien Sie trotzdem darauf hingewiesen, dass die
Verwendung der Option -p für patch erforderlich sein kann, wenn die
Patch-Datei Änderungen für Dateien in Unterverzeichnissen enthält, um
patch dazu zu bringen, die Aktualisierung erfolgreich durchzuführen.
(Siehe die Dokumentation zu patch für weitere Informationen; siehe
auch diff.)
Optionen:
-
-c
-
Erzeugt Ausgaben im context-diff-Format (Standardeinstellung).
-
-D DATUM oder -D DATUM1 -D DATUM2
-
Mit einem Datum erzeugt diese Option die Unterschiede zwischen den
Dateien zum Zeitpunkt DATUM und der aktuellsten Revision. Mit zwei
Daten wird der Unterschied der Dateien zu den jeweiligen Daten
festgestellt.
-
-f
-
Erzwingt die Verwendung der ersten Revision, falls eine gegebene
Revision mit -D oder -r nicht gefunden werden kann.
-
-l
-
Lokal; vergleicht nur Dateien aus dem aktuellen Verzeichnis.
-
-R
-
Rekursiv; Unterverzeichnisse werden ebenfalls behandelt. Da dies das
Standardverhalten ist, dient -R lediglich zur Änderung des Verhaltens
der -l-Option in .cvsrc-Dateien.
-
-r REV oder -r REV1 -r REV2
-
Mit einer -r-Option wird die mit REV bezeichnete Revision aus dem
Archiv mit der aktuellen Arbeitskopie verglichen. Bei Angabe zweier
-r-Argumente wird der Unterschied zwischen den jeweilig angegebenen
Revisionen aus dem Archiv ermittelt.
-
-s
-
Zeigt eine Zusammenfassung der Unterschiede an. Es wird gezeigt,
welche Dateien hinzugefügt, geändert oder entfernt wurden, ohne die
konkreten Veränderungen am Inhalt aufzulisten. Die Ausgabe sieht so
aus:
user@linux ~$
cvs -Q rdiff -s -D 1999-08-20 myproj
File myproj/Random.txt is new; current revision 1.4 File myproj/README.txt changed from revision 2.1 to 2.20 File myproj/baar is new; current revision 2.3
|
-
-t
-
Zeigt die Unterschiede zwischen den zwei aktuellsten Revisionen jeder
Datei. Dies ist eine praktische Abkürzung zur Ermittlung der letzten
Änderungen an einem Projekt. Diese Option kann nicht in Verbindung mit
-D und -r verwendet werden.
-
-u
-
Erzeugt Ausgabe im unified diff-Format. Ältere Versionen des
Programmes patch können mit dem unified diff-Format nicht umgehen;
darum verwenden Sie diese Option besser nicht, um einen
distributionsfähigen Patch zu erzeugen; benutzen Sie hingegen -c.
-
-V (Überholt)
-
CVS erzeugt eine Fehlermeldung, wenn Sie versuchen sollten, diese
Option noch zu verwenden. Ich führe sie hier nur mit auf, falls Sie
sie einmal in einem alten Skript finden sollten.
|
Alternativen: re, rel
Erfordert: Arbeitskopie
Ändert: Arbeitskopie, CVSROOT/history
Meldet eine Arbeitskopie vom Archiv ab (markiert sie als nicht länger
in Gebrauch). Im Gegensatz zu den meisten anderen CVS-Befehlen, die
auf eine Arbeitskopie wirken, wird dieser Befehl nicht aus dem
Verzeichnis der Arbeitskopie heraus aufgerufen, sondern aus dem direkt
darüber liegenden (dem Mutterverzeichnis). Sie müssen entweder
Ihre CVSROOT-Umgebungsvariable setzen oder die globale Option -d
verwenden, da CVS sonst nicht in der Lage ist, das Archiv von der
Arbeitskopie herauszufinden.
Die Benutzung von release ist nie erforderlich. Da CVS normalerweise
keine Referenzen auf Arbeitskopien führt, können Sie Ihre Arbeitskopie
auch einfach löschen.
Falls Sie jedoch Änderungen in Ihrer Arbeitskopie haben, von denen Sie
noch keinen Commit durchgeführt haben, oder wenn Sie möchten, dass das
Beenden Ihrer Arbeit als Ereignis in der CVSROOT/history-Datei
vermerkt wird (siehe das history-Kommando), dann sollten Sie release
verwenden.
Optionen:
-
-d
-
Löscht die Arbeitskopie, wenn die Abmeldung erfolgreich war. Ohne -d
bleibt die Arbeitskopie auf der Platte auch nach dem Release erhalten.
Bemerkung:
Falls Sie irgendwelche neuen Verzeichnisse innerhalb Ihrer
Arbeitskopie erzeugt haben, diese aber nicht dem Archiv hinzugefügt
wurden, dann werden sie zusammen mit dem Rest der Arbeitskopie
gelöscht, wenn Sie -d verwenden.
|
Alternativen: rm, delete
Erfordert: Arbeitskopie
Ändert: Arbeitskopie
Entfernt eine Datei aus einem Projekt. Normalerweise wird die Datei direkt von
der Platte gelöscht, wenn Sie dieses
Kommando aufrufen (siehe jedoch -f). Obwohl dieser Befehl normalerweise rekursiv
arbeitet, ist es üblich, die zu löschenden
Dateien einzeln explizit zu benennen. Beachten Sie die Merkwürdigkeit im letzten
Satz: Üblicherweise starten Sie cvs remove
für Dateien, die in Ihrer Arbeitskopie gar nicht mehr existieren.
Obwohl das Archiv zur Bestätigung kontaktiert wird, werden die Dateien
nicht wirklich gelöscht, bis später ein commit durchgeführt wird. Und
selbst dann wird die RCS-Datei nicht wirklich aus dem Archiv gelöscht;
wenn sie aus der Hauptentwicklungslinie stammt, wird sie lediglich in
ein Attic/-Unterverzeichnis verschoben, wo sie noch immer für andere
Entwicklungszweige zur Verfügung steht. Stammt sie aus einem Zweig,
dann wird sie nicht bewegt, aber eine neue Revision mit dem Status
dead2 auf der abgezweigten Version erzeugt (siehe auch add.)
Optionen:
-
-f
-
Löscht die Datei vor dem Löschen im CVS zunächst von der Platte. Diese
Bedeutung von -f unterscheidet sich von der sonst in CVS-Befehlen
üblichen Funktion: Erzwinge ggf. aktuellste Revision.
-
-l
-
Lokal; der Befehl bezieht sich nur auf das aktuelle Arbeitsverzeichnis.
-
-R
-
Rekursiv; Unterverzeichnisse werden ebenfalls behandelt. Da dies das
Standardverhalten ist, dient -R lediglich zur Änderung des Verhaltens
der -l-Option in .cvsrc-Dateien.
|
Alternativen: rt, rfreeze
Erfordert: Archiv
Ändert: Archiv
Markiert ein Modul direkt im Archiv (erfordert keine Arbeitskopie).
Sie sollten Ihre CVSROOT-Umgebungsvariable korrekt gesetzt haben oder
die Option -d benutzen, damit dieses Kommando funktioniert (siehe
auch tag).
Optionen:
-
-a
-
Entfernt Markierungen von allen gelöschten Dateien, da diese
lediglich aus historischen Gründen noch im Archiv vorhanden sind,
nicht aber länger als Bestandteil des aktiven Projektes betrachtet
werden. Obwohl es nicht erlaubt ist, Dateien mit einem symbolischen
Namen zu markieren, der bereits an anderer Stelle verwendet wird,
sollte es keine Probleme geben, falls diese Marke nur noch in
gelöschten Dateien Verwendung findet (die aus der Sicht des
aktuellen Projektes ja nicht mehr länger existent sind).
-
-b
-
Erzeugt eine neue abgezweigte Version mit dem Namen MARKE.
-
-D DATUM
-
Markiert die neuesten Revisionen, die nicht neuer als DATUM sind.
-
-d
-
Löscht die Markierung mit dem symbolischen Namen MARKE. Diese Änderung
wird nicht protokolliert - die Markierung verschwindet einfach. CVS
führt keine Protokolle der Änderungen an Markierungen.
-
-F
-
Erzwingt die Neuvergabe des symbolischen Namens, falls dieser bereits
für irgendeine andere Revision in der Datei vergeben sein sollte.
-
-f
-
Erzwingt die Verwendung der ersten Revision, falls eine gegebene
Bezeichnung oder Revision nicht gefunden werden kann (siehe -D und
-r).
-
-l
-
Lokal; der Befehl bezieht sich nur auf das aktuelle Arbeitsverzeichnis.
-
-n
-
Verhindert die Ausführung von markierungsabhängigen Programmen, die in
CVSROOT/modules angegeben sein könnten. (Siehe auch den Abschnitt
Archivverwaltungsdateien für weitere Details zu diesen Programmen.)
-
-R
-
Rekursiv; Unterverzeichnisse werden ebenfalls behandelt. Da dies das
Standardverhalten ist, dient -R lediglich zur Änderung des Verhaltens
der -l-Option in .cvsrc-Dateien.
-
-r REV
-
Markiert Revision REV. (Dabei kann REV wieder ein symbolischer Name sein.)
|
Startet einen CVS-Server. Dieser Befehl wird niemals von Benutzern
ausgeführt (außer sie versuchen, Fehler im Client/Server-Protokoll zu
finden), daher vergessen Sie einfach, dass ich ihn überhaupt erwähnt
habe.
Optionen: Keine
|
Alternativen: st, stat
Erfordert: Arbeitskopie
Ändert: Nichts
Zeigt den Status von Dateien in der Arbeitskopie an.
Optionen:
-
-l
-
Lokal; der Befehl bezieht sich nur auf das aktuelle
Arbeitsverzeichnis. Eventuelle Unterverzeichnisse werden nicht
behandelt.
-
-R
-
Rekursiv; Unterverzeichnisse werden ebenfalls behandelt. Da dies das
Standardverhalten ist, dient -R lediglich zur Änderung des Verhaltens
der -l-Option in .cvsrc-Dateien.
-
-v
-
Zeigt symbolische Namen (Markierungen) für die Datei an.
|
Alternativen: ta, freeze
Erfordert: Arbeitskopie, Archiv
Ändert: Archiv
Gibt einer bestimmten Revision oder einer Reihe von Revisionen eines
Projektes einen symbolischen Namen. Oft nennt man diesen Vorgang auch
eine Momentaufnahme des Projektes machen. Dieser Befehl wird
ebenfalls dazu verwendet, neue Entwicklungszweige in CVS zu erzeugen
(siehe die -b-Option; siehe auch rtag).
Optionen:
-
-b
-
Erzeugt eine neue abgezweigte Version mit dem Namen MARKE.
-
-c
-
Stellt sicher, dass die Arbeitskopie keine Änderungen beinhaltet, die
noch nicht mit einem Commit bestätigt wurden. Sollte dies der Fall
sein, wird eine Warnung ausgegeben und keine Markierung erzeugt.
-
-D DATE
-
Markiert die neuesten Revisionen, die nicht neuer als DATUM sind.
-
-d
-
Löscht die Markierung mit dem symbolischen Namen MARKE. Diese Änderung
wird nicht protokolliert - die Markierung verschwindet einfach. CVS
führt keine Protokolle der Änderungen an Markierungen.
-
-F
-
Erzwingt die Neuvergabe des symbolischen Namens, falls dieser bereits
für irgendeine andere Revision in der Datei vergeben sein sollte.
-
-f
-
Erzwingt die Verwendung der ersten Revision, falls eine gegebene
Bezeichnung oder Revision nicht gefunden werden kann (siehe -D und
-r).
-
-l
-
Lokal; der Befehl bezieht sich nur auf das aktuelle Arbeitsverzeichnis.
-
-R
-
Rekursiv; Unterverzeichnisse werden ebenfalls behandelt. Da dies das
Standardverhalten ist, dient -R lediglich zur Änderung des Verhaltens
der -l-Option in .cvsrc-Dateien.
-
-r REV
-
Markiert Revision REV (welche selber ein symbolischer Name sein kann).
|
Alternativen: Keine
Erfordert: Arbeitskopie, Archiv
Ändert: Arbeitskopie
Signalisiert Beobachtern, dass Sie mit dem Bearbeiten einer Datei
fertig sind (siehe auch watch, watchers, edit und editors).
Optionen:
-
-l
-
Lokal; signalisiert nur für Dateien im aktuellen Verzeichnis.
-
-R
-
Rekursiv; Unterverzeichnisse werden ebenfalls behandelt. Da dies das
Standardverhalten ist, dient -R lediglich zur Änderung des Verhaltens
der -l-Option in .cvsrc-Dateien.
|
Alternativen: up, upd
Erfordert: Arbeitskopie, Archiv
Ändert: Arbeitskopie
Überführt Änderungen aus dem Archiv in Ihre Arbeitskopie. Als
Seiteneffekt wird angezeigt, welche Dateien in Ihrer Arbeitskopie
verändert wurden. (Falls jedoch die globale Option -Q verwendet wird,
unterbleibt diese Anzeige; siehe auch checkout.)
Optionen:
-
-A
-
Löscht alle gebundenen Markierungen, Daten oder
RCS-Schlüsselwortersetzungs-Methoden. Dies kann zu Veränderungen im
Inhalt von Dateien führen, falls sich die aktuellsten Revisionen der
Hauptentwicklungslinie von den bisher durch Bindungen festgelegten
unterscheiden. (Sehen Sie -A einfach als einen neuen Checkout des
Projekthauptzweiges an.)
-
-D DATUM
-
Aktualisiert bis zur letzten Revision, die nicht älter als DATUM ist.
Diese Option wirkt bindend und impliziert -P. Sollte das Datum der
Arbeitskopie gebunden sein, dann sind keine Commits möglich.
-
-d
-
Holt fehlende Verzeichnisse, also Verzeichnisse, die im Archiv
existieren, aber in der Arbeitskopie noch nicht vorhanden sind. Solche
Verzeichnisse könnten im Archiv angelegt worden sein, nachdem die
Arbeitskopie zuletzt per Checkout übertragen wurde. Ohne diese Option
arbeitet update nur auf Verzeichnissen, die bereits in der
Arbeitskopie vorhanden sind; neue Dateien werden aus dem Archiv
geholt, neue Verzeichnisse aber nicht (siehe auch -P).
-
-f
-
Erzwingt die Verwendung der aktuellsten Revision, falls eine mittels
-D oder -r gegebene Revision nicht gefunden werden kann.
-
-I NAME
-
Wie die -I-Option des Befehles import.
-
-j REV[:DATUM] oder -j REV1[:DATUM] -j REV2[:DATUM]
-
Vereinigt zwei Entwicklungszweige. Wenn wir das optionale
DATUM-Argument zunächst ignorieren (darauf wird später eingegangen),
dann funktioniert -j so: Wenn nur ein -j gegeben ist, dann werden alle
Veränderungen vom Zeitpunkt der Abspaltung des Entwicklungszweiges an
bis zur Revision REV genommen und mit der Arbeitskopie vereinigt.
Dabei entspricht der Zeitpunkt der Abspaltung der letzten Revision,
die der Entwicklungszweig im Arbeitsverzeichnis und die abgezweigte
Versionslinie von REV gemeinsam haben. Werden zwei -j-Optionen
angegeben, werden die Veränderungen von REV1 bis REV2 in die
Arbeitskopie integriert.
-
Die speziellen Bezeichner HEAD und BASE dürfen als Argumente für -j
verwendet werden; sie bezeichnen die aktuellste Revision im Archiv
respektive die Revision im Archiv, auf der die aktuelle Arbeitskopie
basiert.
-
Was das optionale DATUM angeht: Falls sich REV auf eine abgezweigte
Version bezieht, bezeichnet es normalerweise die neueste Revision auf
diesem Zweig, Sie können jedoch diese auf die neueste Revision vor
einem beliebigen DATUM beschränken. Das Datum sollte von der Revision
durch einen Doppelpunkt ohne Leerzeichen abgetrennt sein wie in
folgendem Beispiel:
user@linux ~$
cvs update -j einZweig:1999-07-01 -j einZweig:1999-08-01
|
-
-
In diesem Beispiel werden unterschiedliche Datumsangaben auf demselben
Entwicklungszweig verwendet, sodass hier im Endeffekt die
Veränderungen auf dem Entwicklungszweig einZweig zwischen Juli und
August genommen und in die Arbeitskopie integriert werden. Beachten
Sie jedoch, dass der Entwicklungszweig nicht notwendigerweise in
beiden -j-Optionen derselbe sein muss.
-
-k METHODE
-
Verwendet RCS-Schlüsselwortersetzung gemäß der angegebenen METHODE.
(Siehe auch den Abschnitt zur Schlüsselwortersetzung weiter hinten in
diesem Kapitel.) Die gewählte Methode wirkt für die betroffenen
Dateien bindend - spätere Aktualisierungen der Arbeitskopie werden
davon betroffen (siehe aber -A).
-
-l
-
Lokal: aktualisiert nur das aktuelle Arbeitsverzeichnis.
-
-P
-
Leere Verzeichnisse werden gelöscht. Alle CVS-kontrollierten
Verzeichnisse, die am Ende der Aktualisierung keine Dateien mehr
enthalten, werden aus der Arbeitskopie entfernt (siehe auch -d).
-
-p
-
Gibt die Dateiinhalte auf die Standardausgabe aus, anstatt in die
Dateien zu schreiben. Wird hauptsächlich verwendet, um zu einer
früheren Revision zurückzugehen, ohne Bindungen (Sticky Tags) in der
Arbeitskopie zu produzieren. Zum Beispiel:
user@linux ~$
cvs update -p -r 1.3 README.txt >README.txt
|
-
-
Nun hat README.txt wieder den Inhalt seiner früheren Revision 1.3,
gerade so, als hätten Sie die Änderungen von Hand zurückgenommen.
-
-R
-
Rekursiv; Unterverzeichnisse werden ebenfalls behandelt. Da dies das
Standardverhalten ist, dient -R lediglich zur Änderung des Verhaltens
der -l-Option in .cvsrc-Dateien.
-
-r REV
-
Aktualisiert (bzw deaktualisiert oder verzweigt) auf Revision REV.
Wenn eine komplette Arbeitskopie aktualisiert wird, ist REV entweder
einfach eine Marke oder die Markierung eines Zweiges. Bei der
Aktualisierung einer einzelnen Datei kann es sich jedoch genauso gut
um eine Revisionsnummer handeln.
-
Diese Option wirkt bindend. Wenn die Dateien auf eine nicht zum
aktuellen Entwicklungszweig gehörige Markierung oder Revision
verändert werden, dann können Sie keinen Commit mehr durchführen, bis
die Bindung aufgehoben wurde (siehe -A). Wenn REV der Name einer
abgezweigten Version war, sind Commits jedoch möglich und neue
Revisionen fließen in diesen Zweig ein.
-
-WFILTER
-
Spezifiziert dateinamenbasierte Filter, die für das Update gültig sein
sollen. Diese Option kann mehrfach verwendet werden. (Siehe auch
CVSROOT/cvswrappers im Abschnitt Archivverwaltungsdateien zu
Details über diese Filter.) Zwischen -W und seinem Argument ist kein
Leerzeichen.
|
Alternativen: Keine
Erfordert: Arbeitskopie, Archiv
Ändert: Watchliste im Archiv
Schaltet die Beobachtung einer oder mehrerer Dateien ein. Anders als
die meisten CVS-Befehle benötigt watch ein weiteres Subkommando, um
etwas Sinnvolles zu bewirken. (Siehe auch watchers, edit,
editors, unedit und CVSROOT/users im Abschnitt
Archivverwaltungsdateien in diesem Kapitel.)
Subkommandos:
-
on
-
Schaltet das Beobachten der Dateien ein. Das bedeutet, dass sie beim
Checkout als nur lesbar markiert werden und Benutzer cvs edit benutzen
sollten, um sie beschreibbar zu machen (wobei alle Beobachter darüber
informiert werden, dass die Datei nun bearbeitet wird). Das
Einschalten an sich bewirkt nicht, dass Sie zur Watchliste irgendeiner
Datei hinzugefügt werden. (Siehe watch add und watch remove zu diesem
Problem.)
-
off
-
Das Gegenteil von watch on. Schaltet das Beobachten wieder ab.
-
add
-
Fügt Sie der Liste der Beobachter dieser Datei (Watchliste) hinzu. Sie
werden benachrichtigt, sobald jemand einen Commit dieser Datei
vornimmt, cvs edit oder cvs unedit ausführt (siehe jedoch die
-a-Option).
-
remove
-
Das Gegenteil von watch add. Entfernt Sie aus der Watchliste dieser Datei.
-
Optionen (zur Benutzung mit jedem der watch-Subkommandos). Alle drei
Optionen haben dieselbe Bedeutung wie für edit:
|
Alternativen: Keine
Erfordert: Arbeitskopie, Archiv
Ändert: Nichts
Zeigt an, wer Dateien beobachtet.
Optionen - Diese Optionen haben dieselbe Bedeutung wie für edit:
|
|
|