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