我想使用命令行SVN选项。我使用TortoiseSVN,我运行了几个命令,我得到以下错误。
'svn'未被识别为内部或外部命令
我使用了命令
svn checkout [-N] [--ignore-externals] [-r rev] URL PATH
我想我应该添加一些环境变量或其他东西。
我应该从命令行使用或不能使用TortoiseSVN?
答案 0 :(得分:425)
默认情况下,TortoiseSVN始终具有与之关联的GUI(图形用户界面)。但是在安装程序(1.7及更高版本)上,您可以选择“命令行客户端工具”选项,以便从命令行调用svn命令(如svn commit和svn update)。
以下是安装程序中“命令行客户端工具”选项的屏幕截图,您需要确保选择它:
答案 1 :(得分:126)
TortoiseSVN有一个命令行界面,可以用于TortoiseSVN GUI自动化,它与普通的Subversion不同。
您可以在文档中找到有关TortoiseSVN命令行选项的信息:
Appendix D. Automating TortoiseSVN。这里使用的主要程序是TortoiseProc.exe
。
但是在那里已经说了很多注意事项:
请记住,TortoiseSVN是一个GUI客户端,本自动化指南向您展示如何使TortoiseSVN对话框显示为收集用户输入。如果你想编写一个不需要输入的脚本,你应该使用官方的Subversion命令行客户端。
另一种选择是安装Subversion二进制文件。 Slik SVN是一个很好的构建(并且不需要像Collabnet那样注册)。如果您选择安装,最新版本的TortoiseSVN还包括命令行客户端。
答案 2 :(得分:74)
如果您已经安装了TortoiseSVN GUI并想知道如何升级到命令行工具,请执行以下步骤...
答案 3 :(得分:25)
要使用命令支持,您应该按照以下步骤操作:
在环境变量中定义路径:
使用 TortoiseProc.exe 文件的路径附加变量值,例如:
C:\ Program Files \ TortoiseSVN \ bin
由于您已注册 TortoiseProc ,因此您可以根据TortoiseSVN documentation使用它。
<强>示例:
TortoiseProc.exe /命令:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt” / logmsg:“测试日志消息”/ closeonend:0
TortoiseProc.exe /命令:update / path:“c:\ svn_wc \”/ closeonend:0
TortoiseProc.exe /命令:log /path:"c:\svn_wc\file1.txt“ / startrev:50 / endrev:60 / closeonend:0
P.S。要使用'svn'之类的友好名称而不是'TortoiseProc',请将'svn.bat'文件放在'TortoiseProc.exe'目录中。有一个svn.bat的例子:
TortoiseProc.exe %1 %2 %3
答案 4 :(得分:8)
要启用svn再次运行TortoiseSVN安装程序,请选择“修改”(允许用户更改功能的安装方式)并安装“命令行客户端工具”。
答案 5 :(得分:8)
我的解决方案是使用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:$*
Google“doskey persist”提供有关如何设置.cmd文件的提示,该文件在每次打开命令提示符时都会运行,如Unix中的。* rc文件。
答案 6 :(得分:3)
您可以同时安装TortoiseSVN和Apache Subversion命令行工具。我通常从VisualSVN下载站点安装Apache SVN工具:https://www.visualsvn.com/downloads/
安装完成后,将Subversion \ bin放入设置的PATH中。然后,当您想使用GUI时,您将能够使用TortoiseSVN,并且您可以从命令行使用正确的SVN命令行工具。
答案 7 :(得分:1)
正如Joey所指出的,TortoiseSVN有自己的命令行语法。不幸的是,如果您习惯于svn
命令,它会非常难看,并且它会忽略当前的工作目录,因此除了编写脚本之外它不是很有用。
我创建了一个Python程序(tsvn
),它尽可能地模仿svn
命令行语法并相应地调用TortoiseSVN。因此,调用正常命令行工具和调用TortoiseSVN之间的区别在开头时减少为一个小字母t
。
我的tsvn
程序尚未完成,但已经很有用。它可以在cheeseshop(https://pypi.python.org/pypi/tsvn/)
答案 8 :(得分:1)
过了一段时间,我使用了这个解决方法......
(在.bat文件中)
SET "CHECKOUT=http://yoururl.url";
SET "PATH=your_folder_path"
start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%
答案 9 :(得分:1)
我获取SVN命令的修复方法是从TortoiseSVN目录中复制.exe和.dll文件并将它们粘贴到system32文件夹中。
您还可以从TortoiseSVN目录执行命令,并将工作目录的路径添加到每个命令。例如:
C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout
将bin添加到路径应该可以在不重复文件的情况下工作,但它对我没有用。
答案 10 :(得分:1)
有一种混乱导致很多TortoiseSVN用户在实际查找svn.exe
命令行客户端时使用错误的命令行工具。
我应该从命令行使用或不能使用TortoiseSVN?
如果要从命令提示符运行Subversion命令,则应运行svn.exe
命令行客户端。 TortoiseSVN 1.6.x及更早版本不包括SVN命令行工具,但现代版本可以。
如果您想在不必安装TortoiseSVN的情况下获取SVN命令行工具,请查看SVN binary distributions page或从VisualSVN downloads page下载最新版本。
如果您的系统上安装了SVN命令行工具,但仍然收到错误'svn' is not recognized as an internal or external command
,则应检查%PATH%
环境变量。 %PATH%
必须包含SVN工具目录的路径,例如C:\Program Files (x86)\VisualSVN\bin
。
除svn.exe
之外,TortoiseSVN附带TortoiseProc.exe
,可以从命令提示符调用。在大多数情况下,不需要使用此工具,因为它应该仅用于GUI自动化。 TortoiseProc.exe
不是SVN命令行客户端的替代品。
答案 11 :(得分:0)
选择“SVN命令行工具”后,它将如下所示:
答案 12 :(得分:-1)
我已经安装了命令行工具,但我仍然无法修复此错误。
然后我意识到安装SVN后我还没有重新启动PC,这是主要问题。