我想使用命令行签出Subversion中某个文件夹的特定修订。

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

TortoiseProc.exe /command:checkout <url>

我如何得到我想要的修改?TortoiseProc.exe是我想做的正确的工具吗?


当前回答

进入文件夹并使用命令:

svn co {url}

其他回答

要么

svn checkout url://repository/path@1234

or

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

似乎可以使用存储库浏览器。点击右上角的修订按钮,将其更改为您想要的修订。然后在浏览器中右键单击文件,并使用“复制到工作副本…”但是要更改它将检出的文件名,以避免冲突。

你可以试试

TortoiseProc.exe /command:checkout /rev:1234

得到第1234版。

我不是100%确定/rev选项与签出兼容,但我从一些TortoiseProc文档中得到了这个想法。

SVN签出到修订,其中存储库位于另一台服务器上

使用svn log命令查看哪些版本可用:

svn log

打印:

------------------------------------------------------------------------
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

注意数字r761。命令说明如下:

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

我特别使用了这个命令:

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

这会导致calcFeatures。M修订版761被签出到当前目录。

你不应该使用TortoiseProc.exe作为命令行Subversion客户端!TortoiseProc应该仅用于自动化TortoiseSVN的GUI。参见TortoiseSVN手册中的说明:

记住,TortoiseSVN是一个GUI客户端,这个自动化指南 向您展示如何使TortoiseSVN对话框出现收集用户 输入。如果您想编写一个不需要输入的脚本,您可以 应该使用官方的Subversion命令行客户端。

使用Subversion命令行svn.exe客户端。使用命令行客户机就可以

在REV修订中检查工作副本: svn checkout——revision REV https://svn.example.com/svn/MyRepo/trunk/ svn checkout https://svn.example.com/svn/MyRepo/trunk/@REV 将您的本地工作副本更新为REV版本: svn update—revision REV 在REV修订中导出(即下载)一个文件或一个开发分支: svn export—revision REV https://svn.example.com/svn/MyRepo/trunk/ svn export https://svn.example.com/MyRepo/trunk/@REV

您可能会注意到,在svn checkout和svn export中,您可以输入REV编号作为—revision REV参数,并在URL后以@REV结尾。第一种叫做手术修正,第二种叫做钉钉修正。请阅读SVNBook以获得更多关于peg和操作修订概念的信息。