问题
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?
回答1:
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
回答2:
Either
svn checkout url://repository/path@1234
or
svn checkout -r 1234 url://repository/path
回答3:
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)
回答4:
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:
svn update --revision REV
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.
回答5:
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://machines@mywebsite.com/home1/oct/calc/calcFeatures.m@761 calcFeatures.m
Which causes calcFeatures.m revision 761 to be checked out to the current directory.
回答6:
I believe the syntax for this is /rev:<revisionNumber>
Documentation for this can be found here
回答7:
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.
回答8:
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.
回答9:
You'll have to use svn directly:
svn checkout URL[@REV]... [PATH]
and
svn help co
gives you a little more help.
回答10:
Go to folder and use the command:
svn co {url}
来源:https://stackoverflow.com/questions/1429034/how-to-checkout-a-specific-subversion-revision-from-the-command-line