How to checkout a specific Subversion revision from the command line?
SvnCommand LineTortoisesvnSvn Problem Overview
I want to checkout a specific revision of a folder in Subversion using the command line.
I don't see an option for specifying the revision number in TortoiseProc.exe
,
TortoiseProc.exe /command:checkout <url>
How do I get the revision I want? Is TortoiseProc.exe
the right tool for what I want to do?
Svn Solutions
Solution 1 - Svn
If you already have it checked out locally then you can cd
to where it is checked out, then use this syntax:
$ svn up -rXXXX
ref: Checkout a specific revision from subversion from command line
Solution 2 - Svn
Either
svn checkout url://repository/path@1234
or
svn checkout -r 1234 url://repository/path
Solution 3 - Svn
Any reason for using TortoiseProc instead of just the normal svn command line?
I'd use:
svn checkout svn://somepath@1234 working-directory
(to get revision 1234)
Solution 4 - Svn
You should never use TortoiseProc.exe as a command-line Subversion client! TortoiseProc should be utilized only for automating TortoiseSVN's GUI. See the note in TortoiseSVN's Manual:
> Remember that TortoiseSVN is a GUI client, and this automation guide > shows you how to make the TortoiseSVN dialogs appear to collect user > input. If you want to write a script which requires no input, you > should use the official Subversion command line client instead.
Use the Subversion command-line svn.exe client. With the command-line client, you can
- checkout a working copy in REV revision:
-
svn checkout --revision REV https://svn.example.com/svn/MyRepo/trunk/
-
svn checkout https://svn.example.com/svn/MyRepo/trunk/@REV
-
update your local working copy to REV revision:
-
export (i.e. download) a file or a development branch in REV revision:
-
svn export --revision REV https://svn.example.com/svn/MyRepo/trunk/
-
svn export https://svn.example.com/MyRepo/trunk/@REV
You may notice that with svn checkout
and svn export
you can enter REV number as --revision REV
argument and as trailing @REV
after URL. The first one is called operative revision, and the second one is called peg revision. Read SVNBook for more information about peg and operative revisions concept.
Solution 5 - Svn
svn checkout to revision where your repository is on another server
Use svn log
command to find out which revisions are available:
svn log
Which prints:
------------------------------------------------------------------------
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
Note the number r761
. Here is the command description:
svn export http://url-to-your-file@761 /tmp/filename
I used this command specifically:
svn export svn+ssh://[email protected]/home1/oct/calc/calcFeatures.m@761 calcFeatures.m
Which causes calcFeatures.m revision 761 to be checked out to the current directory.
Solution 6 - Svn
I believe the syntax for this is /rev:<revisionNumber>
Documentation for this can be found here
Solution 7 - Svn
You could try
TortoiseProc.exe /command:checkout /rev:1234
to get revision 1234.
I'm not 100% sure the /rev
option is compatible with checkout
, but I got the idea from some TortoiseProc documentation.
Solution 8 - Svn
You'll have to use svn directly:
svn checkout URL[@REV]... [PATH]
and
svn help co
gives you a little more help.
Solution 9 - Svn
It seems that you can use the repository browser. Click the revision button at top-right and change it to the revision you want. Then right-click your file in the browser and use 'Copy to working copy...' but change the filename it will check out, to avoid a clash.
Solution 10 - Svn
Go to folder and use the command:
svn co {url}