|
|
Lokale Kopie auf den neuesten Stand bringen:
Mittels cvs update -dP werden ab dem Verzeichnis, in dem der Befehl abgesetzt wurde, alle Dateien und rekursiv alle Unterverzeichnisse auf den neuesten Stand gebracht; die Optionen -dP garantieren, daß von anderen Nutzern angelegte neue Verzeichnisse auch lokal erzeugt werden, und, daß nicht mehr vom Repository verwaltete Verzeichnisse auch lokal entfernt werden.
Lokale Änderungen ins Repository übernehmen:
Sollte man die Dateien an einem anderen Ort (z.B. zuhause) bearbeitet haben, darf zwischen dem Zeitpunkt des Mitnehmens nach Hause und dem Zeitpunkt des Überschreibens der alten Dateien mit der Version von zuhause kein CVS-Befehl abgesetzt worden sein - sonst Gefahr des Datenverlusts! Danach mittels cvs update -dP vorsichtshalber eine aktuelle Version holen; sollte in der Zwischenzeit jemand dieselbe Datei verändert haben, werden die Änderungen des anderen mit den eigenen Änderungen kombiniert - gelingt das, steht im Output des update-Befehls neben dem Dateinamen ein M wie "merged", geht das jedoch schief, steht dort ein C wie "conflict(s)" (in diesem Fall ist die Datei zu öffnen und an allen Stellen, wo CVS mittels
>>>>>
// Änderung des einen
-----
// Änderung des anderen
<<<<<
einen Konflikt signalisiert, der Konflikt zu beheben; anschließend die update-Prozedur wiederholen). Gab es keine Konflikte (mehr), kann man mittels cvs commit die Änderungen ins Repository übernehmen; dieser Befehl wirkt ab dem aktuellen Verzeichnis rekursiv; außerdem öffnet er für jede geänderte / neue (s.u.) / gelöschte (s.u.) Datei bzw. für jedes hinzugefügte (s.u.) / gelöschte (s.u.) Verzeichnis den Standard-Editor, wo man dann eine (englische) Beschreibung, dessen was man getan hat, an der Cursorposition eintippen und speichern und den Editor schließen soll (hat man mehrerlei geändert, wird man ggf. in der Konsole gefragt, ob man ab dem zweiten Mal denselben Text verwenden möchte).
Zusätzliche Dateien / Verzeichnisse ins Repository aufnehmen:
Dateien / Verzeichnisse ins lokale Abbild des Repositorys kopieren.
Um Dateien ins Repository aufzunehmen, mittels cvs add <file> die gewünschte Datei zum Hinzufügen vormerken und mittels cvs commit abloaden (Achtung: bei <file> nicht * o.ä. angeben, wenn im aktuellen Verzeichnis schon andere Dateien oder insbesonsdere ein CVS-Ordner liegt!).
Um Verzeichnisse ins Repository aufzunehmen, mittels cvs add <dir> das gewünschte Verzeichnis zum Hinzufügen vormerken; da der Befehl nicht rekursiv arbeitet, anschießend ins Verzeichnis wecheln und mittels weiterer add-Befehle den Rest zum Hinzufügen vormerken; anschließend wieder ins Ausgangsverzeichnis wechseln und die Änderungen mittels cvs commit wirksam werden lassen.
Dateien / Verzeichnisse aus dem Repository entfernen:
Um Dateien aus dem Repository zu entfernen, erst die Datei in der lokalen Kopie löschen, dann mittels cvs remove <file> die gewünschte Datei zum Löschen vormerken (dieser Mechanismus ist zwar etwas umständlich, weil, da die Dateien nicht mehr da sind, für <file> keine Konstrukte wie inhalt*.html mehr angegeben werden können, dafür kann man aber nicht mehr so leicht etwas versehentlich löschen) und schließlich mittels cvs commit wirklich löschen.
Um Verzeichnisse aus dem Repository zu löschen, erst den Inhalt löschen (da auch dieser Befehl nicht rekursiv arbeitet), und dann mittels cvs remove <dir> das gewünschte (leere) Verzeichnis zum Löschen vormerken und mittels cvs commit wirklich löschen.
Eine lokale Kopie eines (neuen) gesamten Repository (neu) erzeugen:
Hat ein Gruppenmitglied ein neues Repository erzeugt (was nicht allzu häufig vorkommt) oder hat man bei sich einen derart schlimmen Fehler gemacht, daß man einfach alles wegschmeißen und von vorne anfangen möchte, lösche man (soweit (noch) vorhanden) die lokale Kopie und erzeuge sich mittels cvs checkout <repository> eine (neue) lokale Kopie des gesamten Repository <repository>.
Ein neues Repository erzeugen:
Möchte man ein neues Repository (z.B. für ein neues Teil-Projekt) anlegen, gehe man dorthin, wo das Teilprojekt liegt (Achtung: wenn man leeres Repository erzeugen möchte muß man in einen leeren Order wechseln; möchte man Dateien importieren, achte man darauf, daß man nicht versehentlich CVS-Ordner aus alten Projekten mitimportiert) und füge den Inhalt des aktuellen Verzeichnisses mittels cvs import <repository> <erzeuger> <release> zum neuen Repository <repository> hinzu; als <erzeuger> und <release> werden Strings (z.B. swtpra10 und init) erwartet.
Sollten noch Unklarheiten bestehen, konsultiere man mittels man cvs die Manual-Pages oder wende sich an den CVS-Beauftragten (meine Email-Adresse schreibe ich hier nicht hin, weil ich schon komme sehe, daß diese Seite munter kopiert wird).
|
|