Frage

Ich habe ein in der Datei aus dem CVS-Zweig geprüft entfernt, das heißt:.

cvs remove -f file.txt
cvs commit

Wie stelle ich die Datei?

War es hilfreich?

Lösung

Ich glaube, dass:

cvs add file.txt
cvs commit file.txt

... wird es vom Dachboden wieder aufleben lassen.

Andere Tipps

Ich habe festgestellt, dass Sie nicht cvs add verwenden können, einen cvs remove Vorgang rückgängig zu machen, die bereits comitted wurde. So funktioniert das:

$ cvs remove -f file.txt
$ cvs add file.txt

, aber das funktioniert nicht:

$ cvs remove -f file.txt
$ cvs commit
$ cvs add file.txt

Die einfachste Methode, die ich bisher gefunden habe ist cvs status file.txt ausführen, um die Versionsnummer zu erfahren. Ergreifen Sie dann den Inhalt der Revision und fügen Sie sie zurück in:

$ cvs update -p -r rev file.txt > file.txt
$ cvs add file.txt
$ cvs commit

Die cvs add nicht für mich arbeiten, weil meine cvs Version auf dem Server sehr alt war. Ich habe bestätigt, dass es funktioniert gut mit CVS-Version 1.11.22.

Versuchen:

cvs add file.txt
cvs update file.txt
cvs commit file.txt

Harrys Mangel an Erfolg gegeben, hier ist eine Abschrift von dem, was ich tat, zu zeigen, dass die oben genannte Antwort funktioniert (Entschuldigung im Voraus für seine Länge):

C:\foo>dir
 Volume in drive C is Local Disk
 Volume Serial Number is 344F-1517

 Directory of C:\foo

28/09/2008  05:12 PM    <DIR>          .
28/09/2008  05:12 PM    <DIR>          ..
28/09/2008  05:12 PM    <DIR>          CVS
28/09/2008  05:11 PM                19 file.txt
               1 File(s)             19 bytes
               3 Dir(s)  22,686,416,896 bytes free

C:\foo>cvs status file.txt
===================================================================
File: file.txt          Status: Up-to-date

   Working revision:    1.2     Sun Sep 28 07:11:58 2008
   Repository revision: 1.2     C:\jason\CVSROOT/foo/file.txt,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)


C:\foo>cvs rm -f file.txt
cvs remove: scheduling `file.txt' for removal
cvs remove: use 'cvs commit' to remove this file permanently

C:\foo>cvs commit -m "" file.txt
Removing file.txt;
C:\jason\CVSROOT/foo/file.txt,v  <--  file.txt
new revision: delete; previous revision: 1.2
done

C:\foo>cvs status file.txt
===================================================================
File: no file file.txt          Status: Up-to-date

   Working revision:    No entry for file.txt
   Repository revision: 1.3     C:\jason\CVSROOT/foo/Attic/file.txt,v

C:\foo>more file.txt
Cannot access file C:\foo\file.txt

C:\foo>dir
 Volume in drive C is Local Disk
 Volume Serial Number is 344F-1517

 Directory of C:\foo

28/09/2008  05:12 PM    <DIR>          .
28/09/2008  05:12 PM    <DIR>          ..
28/09/2008  05:12 PM    <DIR>          CVS
               0 File(s)              0 bytes
               3 Dir(s)  22,686,400,512 bytes free

C:\foo>cvs add file.txt
cvs add: Resurrecting file `file.txt' from revision 1.2.
U file.txt
cvs add: Re-adding file `file.txt' (in place of dead revision 1.3).
cvs add: use 'cvs commit' to add this file permanently

C:\foo>cvs commit -m "" file.txt
Checking in file.txt;
C:\jason\CVSROOT/foo/file.txt,v  <--  file.txt
new revision: 1.4; previous revision: 1.3
done

C:\foo>more file.txt
This is a test...

C:\jason\work\dev1\nrta\foo>dir
 Volume in drive C is Local Disk
 Volume Serial Number is 344F-1517

 Directory of C:\jason\foo

28/09/2008  05:15 PM    <DIR>          .
28/09/2008  05:15 PM    <DIR>          ..
28/09/2008  05:13 PM    <DIR>          CVS
28/09/2008  05:13 PM                19 file.txt
               1 File(s)             19 bytes
               3 Dir(s)  22,686,375,936 bytes free

Offensichtlich tut er das Richtige, aber das Verhalten er beobachten ist anders. Vielleicht gibt es einen Unterschied aufgrund CVS-Version (ich verwende 1.11.22 unter Windows).

cd in $ CVSROOT-Verzeichnis und das jeweilige Modulverzeichnis und dann dem Dachboden, Bearbeiten Sie die fileOfInterest, v und ändern Sie die Zeile, die Toten sagt; Exp zu; und dann die fileOfInterest bewegen, v in das Verzeichnis oben.

Ein Update im Modul ausgecheckt wird nun die Datei wiederherstellen.

Die einfachste, wenn möglich, am wenigsten elegante Art und Weise, dies zu tun ist, um ‚cd‘ in das CVS-Verzeichnis in der gleichen Stelle wie die entfernte Datei.

bearbeiten Sie die Datei mit dem Namen "Einträge".

Suchen Sie die Zeile Ihre entfernt Datei angibt. Beachten Sie, dass es ein ‚-‘ nach dem /

Entfernen Sie die '-'!, Die Datei und voila speichern

Yuck, aber es funktioniert.

Hier ist, was ich tue. Ich habe gerade eine leere Datei mit dem gleichen Namen erstellen, fügen Sie dann und verpflichten sie, dann rufen Sie die ältere Version und wieder begehen das.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top