我使用TortoiseSVN,并希望使用命令行SVN选项。

我使用命令:

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH

并得到以下错误:

'svn'不能被识别为内部或外部命令

是因为我需要添加一些环境变量吗?或者不能从命令行使用TortoiseSVN ?


当前回答

如果你已经安装了TortoiseSVN GUI并且想知道如何升级到命令行工具,下面是步骤…

进入Windows控制面板→程序和功能(Windows 7+) 找到TortoiseSVN并单击它。 从可用选项中选择“更改”。 请参考此图像了解进一步步骤。 完成命令行客户端工具后,打开命令提示符,输入svn help,检查安装是否成功。

其他回答

正如Joey指出的,TortoiseSVN有自己的命令行语法。不幸的是,如果您习惯了svn命令,那么它非常丑陋,而且它忽略了当前的工作目录,因此它不是很有用——除了用于脚本编写。

我创建了一个小的Python程序(tsvn),它尽可能地模仿svn命令行语法,并相应地调用TortoiseSVN。因此,调用普通命令行工具和调用TortoiseSVN之间的区别在开始时缩小到一个小字母t。

我的tsvn程序尚未完成,但已经有用。可以在芝士店(https://pypi.python.org/pypi/tsvn/)找到。

选择“SVN命令行工具”后,它会变成这样:

过了一段时间,我用了这个变通办法……

(在.bat文件中)

SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"

start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%

TortoiseSVN有一个可用于TortoiseSVN GUI自动化的命令行界面,它不同于普通的Subversion界面。

你可以在文档中找到关于TortoiseSVN命令行选项的信息: 附录D.自动化TortoiseSVN。这里使用的主要程序是TortoiseProc.exe。

但是在最上面已经写着:

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

另一种选择是安装Subversion二进制文件。Slik SVN是一个很好的构建(并且不需要像Collabnet那样注册)。如果您选择安装,最近版本的TortoiseSVN还包括命令行客户端。

我获取SVN命令的方法是从TortoiseSVN目录复制.exe和.dll文件,并将它们粘贴到system32文件夹中。

您还可以从TortoiseSVN目录执行命令,并为每个命令添加工作目录的路径。例如:

C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout

将bin添加到路径中应该可以使它在不复制文件的情况下工作,但对我来说它不起作用。