Home
Über
Projekte
 CVS
 Contributors
 Online
 Download
 RCS
 Texinfo
 Texi2HTML
Geschichte
Werkzeuge
Unterstützung
 
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.2 Dateien entfernen

Verzeichnisse ändern sich ständig, neue Dateien kommen hinzu und alte verschwinden. Trotzdem will man immer in der Lage sein eine exakte Kopie einer alten Version wiederherzustellen.

Mit folgenden Schritten entfernen Sie eine Datei und können später trotzdem den alten Zustand wiederherstellen:

  • Stellen sie sicher, dass Sie keine Änderungen an der Datei vorgenommen haben, die noch nicht committet sind. 1.3.4 Unterschiede anzeigen zeigt eine Möglichkeit dies zu tun. Die Kommandos status und update können ebenso dabei helfen. Wenn Sie die Datei entfernen, bevor Änderungen committed wurden, kann sie nicht mehr in der Version hergestellt werden, die zum Zeitpunkt des Löschens bestanden hat.

  • Entfernen Sie die Datei aus Ihrer Arbeitskopie des Verzeichnisses (zum Beispiel mit rm).

  • Teilen Sie CVS mittles `cvs remove filename' mit, dass die Datei gelöscht werden soll.

  • Mit `cvs commit filename' wird die Datei dann wirklich aus dem Repository entfernt.

Wenn Sie das Entfernen der Datei bestätigen (commit), registriert CVS die Tatsache, dass die Datei nicht mehr länger existiert. Eine Datei kann durchaus in einigen Zweigen vorhanden sein, während sie in anderen fehlt, oder es kann zu einem späteren Zeitpunkt eine Datei mit gleichem Namen hinzugefügt werden. CVS wird die Datei stets richtig erzeugen oder weglassen, je nachdem welche Argumente der `-r' und der `-D' Option bei einem Aufruf von checkout oder update übergeben werden.

Kommando: cvs remove [options] files ...

Nimmt Dateien in die Liste der zu löschenden Dateien auf (Dateien, die nicht aus der Arbeitskopie des Verzeichnisses gelöscht worden sind, werden nicht bearbeitet). Die Dateien werden solange nicht gelöscht, bis Sie mit commit das Entfernen bestätigen. Eine vollständige Auflistung aller Optionen findet sich in B. Quick reference to CVS commands.

Hier ein Beispiel, bei dem mehrere Dateien gelöscht werden:

 
$ cd test
$ rm *.c
$ cvs remove
cvs remove: Removing .
cvs remove: scheduling a.c for removal
cvs remove: scheduling b.c for removal
cvs remove: use 'cvs commit' to remove these files permanently
$ cvs ci -m "Removed unneeded files"
cvs commit: Examining .
cvs commit: Committing .

Mit der Option `-f' können die Dateien auch in einem Schritt aus dem Verzeichnis und dem Repsoitory gelöscht werden. Obiges Beispiel sieht dann so aus:

 
$ cd test
$ cvs remove -f *.c
cvs remove: scheduling a.c for removal
cvs remove: scheduling b.c for removal
cvs remove: use 'cvs commit' to remove these files permanently
$ cvs ci -m "Removed unneeded files"
cvs commit: Examining .
cvs commit: Committing .

Wenn Sie nach dem remove Kommande Ihre Meinung ändern, können Sie remove mit einem add Kommando wieder rückgängig machen.

 
$ ls
CVS   ja.h  oj.c
$ rm oj.c
$ cvs remove oj.c
cvs remove: scheduling oj.c for removal
cvs remove: use 'cvs commit' to remove this file permanently
$ cvs add oj.c
U oj.c
cvs add: oj.c, version 1.1.1.1, resurrected

Wenn Sie Ihren Fehler schon vor dem remove Kommando bemerken, können Sie mit update die Datei wiederbekommen.

 
$ rm oj.c
$ cvs update oj.c
cvs update: warning: oj.c was lost
U oj.c

Eine Datei wird nur aus dem Zweig entfernt, mit dem Sie im Moment arbeiten ( 5. Branching and merging). Später können Dateien auch aus anderen Zweigen entfernt werden ( 5.9 Merging can add or remove files).

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Sun Aug 26 20:00:18 UTC 2001 © 1999, 2000, 2001 by Manual Translation Project webmaster@manual-translation-project.org