Wie kann ich eine bestimmte Subversion-Revision über die Befehlszeile auschecken?


Antworten:


469

Wenn Sie es bereits lokal ausgecheckt haben, können Sie dort cd, wo es ausgecheckt ist, die folgende Syntax verwenden:

$ svn up -rXXXX

ref: Überprüfen Sie eine bestimmte Revision aus der Subversion über die Befehlszeile


Aus irgendeinem Grund tut das nichts für mich. Immer noch bei der alten Revision.
Igor Ganapolsky

2
@IgorGanapolsky Haben Sie die Datei, die Sie aktualisieren möchten, lokal geändert?

Wie machst du einen Hard Reset? (Konflikte ignorieren?)
Dilip Raj Baral

313

Entweder

svn checkout url://repository/path@1234

oder

svn checkout -r 1234 url://repository/path

3
Ich musste nach -r Leerzeichen entfernen, damit "-r1234" für mich funktioniert.
Elijah Lofgren

257

Gibt es einen Grund, TortoiseProc anstelle der normalen svn-Befehlszeile zu verwenden?

Ich würde verwenden:

svn checkout svn://somepath@1234 working-directory

(um Revision 1234 zu bekommen)


36

Sie sollten TortoiseProc.exe niemals als Befehlszeilen-Subversion-Client verwenden! TortoiseProc sollte nur zur Automatisierung der Benutzeroberfläche von TortoiseSVN verwendet werden. Siehe den Hinweis im TortoiseSVN-Handbuch :

Denken Sie daran, dass TortoiseSVN ein GUI-Client ist. In diesem Automatisierungshandbuch erfahren Sie, wie Sie die TortoiseSVN-Dialogfelder so anzeigen, dass Benutzereingaben erfasst werden. Wenn Sie ein Skript schreiben möchten, für das keine Eingabe erforderlich ist, sollten Sie stattdessen den offiziellen Subversion-Befehlszeilenclient verwenden.

Verwenden Sie den Subversion- Befehlszeilen-Client svn.exe . Mit dem Befehlszeilen-Client können Sie

Möglicherweise stellen Sie fest, dass mit svn checkoutund svn exportSie die REV-Nummer als --revision REVArgument und @REVnach der URL eingeben können . Die erste wird als operative Revision und die zweite als Peg-Revision bezeichnet. Weitere Informationen zum Konzept von Peg und operativen Revisionen finden Sie im SVNBook .


8

svn checkout zur Revision, wo sich Ihr Repository auf einem anderen Server befindet

Verwenden Sie den svn logBefehl, um herauszufinden, welche Revisionen verfügbar sind:

svn log

Welche Drucke:

------------------------------------------------------------------------
r762 | machines | 2012-12-02 13:00:16 -0500 (Sun, 02 Dec 2012) | 2 lines

------------------------------------------------------------------------
r761 | machines | 2012-12-02 12:59:40 -0500 (Sun, 02 Dec 2012) | 2 lines

Notieren Sie die Nummer r761. Hier ist die Befehlsbeschreibung:

svn export http://url-to-your-file@761 /tmp/filename

Ich habe diesen Befehl speziell verwendet:

svn export svn+ssh://machines@mywebsite.com/home1/oct/calc/calcFeatures.m@761 calcFeatures.m

Dadurch wird calcFeatures.m Revision 761 in das aktuelle Verzeichnis ausgecheckt.



3

Du könntest es versuchen

TortoiseProc.exe /command:checkout /rev:1234

um Revision 1234 zu bekommen.

Ich bin nicht 100% sicher, ob die /revOption kompatibel ist checkout, aber ich habe die Idee aus einer TortoiseProc-Dokumentation .


2

Es scheint, dass Sie den Repository-Browser verwenden können. Klicken Sie oben rechts auf die Schaltfläche "Revision" und ändern Sie sie in die gewünschte Revision. Klicken Sie dann mit der rechten Maustaste auf Ihre Datei im Browser und verwenden Sie "In Arbeitskopie kopieren ...". Ändern Sie jedoch den Dateinamen, der ausgecheckt werden soll, um Konflikte zu vermeiden.


1

Sie müssen svn direkt verwenden:

svn checkout URL[@REV]... [PATH]

und

svn help co

gibt dir ein bisschen mehr Hilfe.


2
Soweit ich sehe, kann ein Beispiel helfen. Schließen Sie die Klammern ein oder nicht? Was ist mit 3 Perioden? Was ist mit dem Raum nach den 3 Perioden? Welche Zeichen sind wörtlich und welche sind Platzhalter, und welche Zeichen werden für die Platzhalter hinzugefügt?
Ahnbizcad

0

Gehen Sie zum Ordner und verwenden Sie den Befehl:

svn co {url}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.