392

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?

10 Answers 10

503

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

Sign up to request clarification or add additional context in comments.

5 Comments

For some reason this does nothing for me. Still at the old revision.
@IgorGanapolsky Have you locally modified the file you're trying to update?
How do you do hard reset? (Ignoring conflicts?)
@DilipRajBaral svn revert on a specific file, or svn revert --depth infinity to reset recursively
How do I confirm that this command was successful? svn info --show-item revision shows a different number than the one I entered.
345

Either

svn checkout url://repository/path@1234

or

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

1 Comment

I had to remove space after -r so "-r1234" worked for me.
262

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)

1 Comment

Reason: Windows
43

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

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.

Comments

9

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.

Comments

6

I believe the syntax for this is /rev:<revisionNumber>

Documentation for this can be found here

Comments

3

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.

Comments

2

You'll have to use svn directly:

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

and

svn help co

gives you a little more help.

1 Comment

as far as what I see, i think an example can help. do you include or not include the brackets? what about 3 periods? what about the space after the 3 periods? Which characters are literal, and which are placeholders, and which are added characters for the placeholders?
2

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.

1 Comment

What repository browser?
0

Go to folder and use the command:

svn co {url}

2 Comments

What is co? I feel like this answer needs some expansion/explanation
it's short for "checkout". You can use svn checkout... also