如何从命令行签出特定的Subversion修订版?

362 svn tortoisesvn command-line

我想使用命令行检查Subversion中文件夹的特定修订版.

我没有看到指定修订号的选项TortoiseProc.exe,

TortoiseProc.exe /command:checkout <url>
Run Code Online (Sandbox Code Playgroud)

我如何获得我想要的修订版?是TortoiseProc.exe我想做的正确工具吗?

rog*_*ack 467

如果您已经在本地签出了它,那么您可以cd将其签出,然后使用以下语法:

$ svn up -rXXXX
Run Code Online (Sandbox Code Playgroud)

ref:从命令行中查看subversion的特定修订版

  • @IgorGanapolsky您是否在本地修改了您要更新的文件? (2认同)

pix*_*x0r 308

svn checkout url://repository/path@1234
Run Code Online (Sandbox Code Playgroud)

要么

svn checkout -r 1234 url://repository/path
Run Code Online (Sandbox Code Playgroud)

  • 我必须在-r之后删除空格,以便"-r1234"为我工作. (3认同)

Jon*_*eet 257

使用TortoiseProc而不仅仅是普通的svn命令行的任何原因?

我用的是:

svn checkout svn://somepath@1234 working-directory
Run Code Online (Sandbox Code Playgroud)

(获得修订1234)


bah*_*rep 36

你永远不应该使用TortoiseProc.exe作为命令行Subversion客户端!TortoiseProc只应用于自动化TortoiseSVN的GUI.请参阅TortoiseSVN手册中注释:

请记住,TortoiseSVN是一个GUI客户端,本自动化指南向您展示如何使TortoiseSVN对话框显示为收集用户输入.如果要编写不需要输入的脚本,则应使用官方的Subversion命令行客户端.

使用Subversion 命令行svn.exe客户端.使用命令行客户端,您可以

您可能会注意到,svn checkout并且svn export您可以输入REV编号作为--revision REV参数,并@REV在URL之后输入.第一个称为操作修订,第二个称为peg修订.阅读SVNBook以获取有关挂钩和操作修订概念的更多信息.


Eri*_*ski 7

svn checkout to revision您的存储库位于另一台服务器上的位置

使用svn log命令找出可用的修订版本:

svn log
Run Code Online (Sandbox Code Playgroud)

哪个印刷品:

------------------------------------------------------------------------
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
Run Code Online (Sandbox Code Playgroud)

注意这个数字r761.这是命令描述:

svn export http://url-to-your-file@761 /tmp/filename
Run Code Online (Sandbox Code Playgroud)

我特意使用了这个命令:

svn export svn+ssh://machines@mywebsite.com/home1/oct/calc/calcFeatures.m@761 calcFeatures.m
Run Code Online (Sandbox Code Playgroud)

这导致calcFeatures.m修订版761被签出到当前目录.


Stu*_*son 6

我相信这个的语法是 /rev:<revisionNumber>

有关此文档可在此处找到