我使用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安装程序,请选择“修改”(允许用户更改特性的安装方式)并安装“命令行客户端工具”。
其他回答
我的解决方案是使用DOSKEY为我最常用的命令设置一些别名:
DOSKEY svc=TortoiseProc.exe /command:commit /path:.
DOSKEY svu=TortoiseProc.exe /command:update /path:.
DOSKEY svl=TortoiseProc.exe /command:log /path:.
DOSKEY svd=TortoiseProc.exe /command:diff /path:$*
谷歌"doskey persist"提供关于如何设置一个.cmd文件的技巧,该文件在每次打开命令提示符时运行,就像Unix中的。*rc文件一样。
若要重新运行TortoiseSVN安装程序,请选择“修改”(允许用户更改特性的安装方式)并安装“命令行客户端工具”。
有一个混乱,导致许多TortoiseSVN用户在实际寻找svn.exe命令行客户端时使用错误的命令行工具。
我应该做什么或者不能从命令行使用TortoiseSVN ?
svn.exe
如果您想从命令提示符运行Subversion命令,您应该运行svn.exe命令行客户端。TortoiseSVN 1.6。x和旧版本不包括SVN命令行工具,但现代版本有。
如果您想在不安装TortoiseSVN的情况下获得SVN命令行工具,请检查SVN二进制分布页面或从VisualSVN下载页面下载最新版本。
如果您的系统上安装了SVN命令行工具,但仍然得到错误“SVN”不被识别为内部或外部命令,您应该检查%PATH%环境变量。%PATH%必须包含SVN tools目录的路径,例如C:\Program Files (x86)\VisualSVN\bin.
TortoiseProc.exe
除了svn.exe, TortoiseSVN还附带了可以从命令提示符调用的TortoiseProc.exe。在大多数情况下,您不需要使用这个工具,因为它应该只用于GUI自动化。TortoiseProc.exe不是SVN命令行客户端的替代品。
正如Joey指出的,TortoiseSVN有自己的命令行语法。不幸的是,如果您习惯了svn命令,那么它非常丑陋,而且它忽略了当前的工作目录,因此它不是很有用——除了用于脚本编写。
我创建了一个小的Python程序(tsvn),它尽可能地模仿svn命令行语法,并相应地调用TortoiseSVN。因此,调用普通命令行工具和调用TortoiseSVN之间的区别在开始时缩小到一个小字母t。
我的tsvn程序尚未完成,但已经有用。可以在芝士店(https://pypi.python.org/pypi/tsvn/)找到。
过了一段时间,我用了这个变通办法……
(在.bat文件中)
SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"
start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%