Wie erhalte ich eine bestimmte Revision einer neu hinzugefügten Datei von CVS über die Kommandozeile?

7

Eines unserer intern geschriebenen Werkzeuge wird mit einer cvs-commit-Spur des Formulars gefüttert:

%Vor%

Das Tool erfasst dann die Datei von cvs, indem es in einem Arbeitsverzeichnis einen Befehl cvs update -r 1.1.2.56 absetzt, der bereits einen bestimmten Codezweig ausgecheckt hat.

Diese Befehle funktionieren ordnungsgemäß, wenn eine vorhandene Version von AFile.java im Arbeitsverzeichnis vorhanden ist. Aber wenn wir eine Spur einer Datei erhalten, die keine Version im Arbeitsverzeichnis hat, kann der Befehl die Datei nicht erfassen.

Gibt es eine Möglichkeit, es zu tun?

    
Tahir Akhtar 10.10.2008, 05:35
quelle

5 Antworten

22

Es ist nicht klar, was Ihr endgültiges Ziel ist: das gesamte Repository in den gewünschten Zustand zu bringen (ausgewählte Revision der ausgewählten Zweigstelle) oder die einzelne Datei aus dem Repository zur weiteren Verarbeitung zu übernehmen. Ich nehme an, es ist letzteres.

Dann brauchen Sie diesen Befehl:

%Vor%

Dies wird zur festgelegten Ausgabe der angegebenen Datei (oder der Dateien) ausgeben, die in den temporären Speicherort umgeleitet und verarbeitet werden könnte.

Oder Sie könnten verwenden:

%Vor%

, das ein (Teil des) Repositorys in das angegebene Zielverzeichnis exportiert.

    
ADEpt 10.10.2008, 06:21
quelle
2

cvs --help

sagt Ihnen, dass Sie die -H arg verwenden können, um Hilfe zu einem bestimmten CVS-Befehl wie folgt anzuzeigen:

%Vor%

... einer Person beibringen, wie man fischt ...:)

    
Jess 22.04.2013 15:19
quelle
2

Ich habe es wie unten beschrieben versucht

%Vor%

Es gab Fehler wie

%Vor%

So habe ich als unten Weg gemacht

%Vor%

Jetzt hat es gut funktioniert.

    
Jeegar Patel 03.12.2015 09:58
quelle
1

Eine Lösung bestünde darin, das Tool so zu ändern, dass ein "cvs co" für die Datei ausgegeben wird, wobei die Revision so angegeben wird, wie sie jetzt mit dem Update ist. Der Checkout-Befehl müsste von oben in der Baumstruktur ausgeführt werden, nicht in dem Verzeichnis, das die Datei enthält. Ich bin auf ähnliche Fälle gestoßen, in denen das Update keine neue Datei finden kann und eine Überprüfung der Datei erfordert, wie ich es beschrieben habe.

    
Jason Etheridge 10.10.2008 06:07
quelle
1

Dies ist die einzige Möglichkeit, die für mich funktioniert, da der Befehl checkout immer einen Fehler "Modul nicht gefunden" liefert:

%Vor%

Es scheint, dass cvs den Ball darauf fallen ließ.

    
CpnCrunch 15.03.2017 15:49
quelle