我使用TortoiseSVN,并希望使用命令行SVN选项。
我使用命令:
svn checkout [-N] [--ignore-externals] [-r rev] URL PATH
并得到以下错误:
'svn'不能被识别为内部或外部命令
是因为我需要添加一些环境变量吗?或者不能从命令行使用TortoiseSVN ?
我使用TortoiseSVN,并希望使用命令行SVN选项。
我使用命令:
svn checkout [-N] [--ignore-externals] [-r rev] URL PATH
并得到以下错误:
'svn'不能被识别为内部或外部命令
是因为我需要添加一些环境变量吗?或者不能从命令行使用TortoiseSVN ?
当前回答
TortoiseSVN有一个可用于TortoiseSVN GUI自动化的命令行界面,它不同于普通的Subversion界面。
你可以在文档中找到关于TortoiseSVN命令行选项的信息: 附录D.自动化TortoiseSVN。这里使用的主要程序是TortoiseProc.exe。
但是在最上面已经写着:
记住,TortoiseSVN是一个GUI客户端,这个自动化指南向您展示了如何使TortoiseSVN对话框出现以收集用户输入。如果希望编写不需要输入的脚本,则应该使用官方的Subversion命令行客户端。
另一种选择是安装Subversion二进制文件。Slik SVN是一个很好的构建(并且不需要像Collabnet那样注册)。如果您选择安装,最近版本的TortoiseSVN还包括命令行客户端。
其他回答
若要重新运行TortoiseSVN安装程序,请选择“修改”(允许用户更改特性的安装方式)并安装“命令行客户端工具”。
过了一段时间,我用了这个变通办法……
(在.bat文件中)
SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"
start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%
您可以同时安装TortoiseSVN和Apache Subversion命令行工具。我通常从VisualSVN下载站点https://www.visualsvn.com/downloads/安装Apache SVN工具
安装完成后,将Subversion\bin放在您设置的PATH中。然后,您将能够在需要使用GUI时使用TortoiseSVN,并且您有从命令行使用的适当的SVN命令行工具。
正如Joey指出的,TortoiseSVN有自己的命令行语法。不幸的是,如果您习惯了svn命令,那么它非常丑陋,而且它忽略了当前的工作目录,因此它不是很有用——除了用于脚本编写。
我创建了一个小的Python程序(tsvn),它尽可能地模仿svn命令行语法,并相应地调用TortoiseSVN。因此,调用普通命令行工具和调用TortoiseSVN之间的区别在开始时缩小到一个小字母t。
我的tsvn程序尚未完成,但已经有用。可以在芝士店(https://pypi.python.org/pypi/tsvn/)找到。
要使用命令支持,您应该遵循以下步骤:
Define Path in Environment Variables: open 'System Properties'; on the tab 'Advanced' click on the 'Environment Variables' button in the section 'System variables' select 'Path' option and click 'edit' append variable value with the path to TortoiseProc.exe file, for example: C:\Program Files\TortoiseSVN\bin Since you have registered TortoiseProc, you can use it in according to TortoiseSVN documentation. Examples: TortoiseProc.exe /command:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt" /logmsg:"test log message" /closeonend:0 TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0 TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt" /startrev:50 /endrev:60 /closeonend:0
注:要使用友好的名称,如'svn'而不是'TortoiseProc',请将'svn.bat'文件放在'TortoiseProc.exe'目录中。这里有一个svn.bat的例子:
TortoiseProc.exe %1 %2 %3