通过命令行使用TortoiseSVN
我想使用命令行SVN选项。 我使用TortoiseSVN,并运行几个命令,我得到以下错误。
'svn'不被识别为内部或外部命令
我使用了这个命令
svn checkout [-N] [--ignore-externals] [-r rev] URL PATH
我想我应该添加一些环境variables或其他东西。
我应该做什么或不能从命令行使用TortoiseSVN?
默认情况下,TortoiseSVN总是有一个与之关联的GUI(graphics用户界面)。 但在安装程序(版本1.7和更高版本)上,您可以select“命令行客户端工具”选项,以便您可以从命令行调用svn命令(如svn commit和svn update)。
以下是安装程序中“命令行客户端工具”选项的屏幕截图,您需要确保select它:
TortoiseSVN有一个可用于TortoiseSVN GUI自动化的命令行界面,与普通的Subversion不同。
您可以在文档中find有关TortoiseSVN命令行选项的信息: 附录D.自动化TortoiseSVN 。 这里使用的主要程序是TortoiseProc.exe
。
但是在上面已经有很多说明了:
请记住,TortoiseSVN是一个GUI客户端,这个自动化指南向您展示了如何让TortoiseSVN对话框显示来收集用户input。 如果你想写一个不需要input的脚本,你应该使用官方的Subversion命令行客户端。
另一个select是你安装Subversion二进制文件。 Slik SVN是一个很好的版本(不需要像Collabnet这样的注册)。 如果您select安装,最新版本的TortoiseSVN还包含命令行客户端。
如果您已经安装了TortoiseSVN GUI并想知道如何升级到命令行工具,请按照以下步骤操作
- 转到Windows控制面板→ 程序和function (Windows 7 +)
- findTortoiseSVN并点击它。
- 从可用选项中select“更改”。
-
进一步的步骤请参考这张图片。
-
完成命令行客户端工具后,打开命令提示符并键入
svn help
来检查安装是否成功。
要使用命令支持,您应该按照下列步骤操作:
-
在环境variables中定义path:
- 打开“ 系统属性 ”;
- 在“ 高级 ”选项卡上点击“ 环境variables ”button
- 在“ 系统variables ”一节中select“ path ”选项并点击“ 编辑 ”
-
将variables值附加到TortoiseProc.exe文件的path,例如:
C:\ Program Files \ TortoiseSVN \ bin
-
既然你已经注册了TortoiseProc ,你可以根据TortoiseSVN 文档使用它。
例子:
TortoiseProc.exe / command:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt“/ logmsg:”testing日志消息“/ closeonend:0
TortoiseProc.exe /命令:更新/path:“c:\ svn_wc \”/ closeonend:0
TortoiseProc.exe / command:log /path:"c:\svn_wc\file1.txt“/ startrev:50 / endrev:60 / closeonend:0
PS要使用'svn'而不是'TortoiseProc'友好的名字,把'svn.bat'文件放在'TortoiseProc.exe'的目录下。 有一个svn.bat的例子:
TortoiseProc.exe %1 %2 %3
要启用svn再次运行TortoiseSVN安装程序,请select“修改”(允许用户更改安装function的方式)并安装“命令行客户端工具”。
我的解决scheme是使用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坚持”提示如何设置.cmd文件,每次打开命令提示符运行,如Unix中的。* rc文件。
正如Joey所指出的,TortoiseSVN有自己的命令行语法。 不幸的是,如果你已经习惯了svn
命令,并且忽略了当前的工作目录,那么这是非常难看的,因此它不是非常有用 – 除了脚本。
我创build了一个Python程序( tsvn
),它尽可能地模仿svn
命令行语法,并相应地调用TortoiseSVN。 因此,调用正常的命令行工具和调用TortoiseSVN之间的区别在开始时被简化为小写字母t
。
我的tsvn
程序尚未完成,但已经有用。 它可以在奶酪店( https://pypi.python.org/pypi/tsvn/ )find
一段时间后,我用这个解决方法…
(在.bat文件中)
SET "CHECKOUT=http://yoururl.url"; SET "PATH=your_folder_path" start "C:\Program Files\TortoiseSVN\bin" svn.exe checkout %CHECKOUT% %PATH%
我得到的SVN命令的修复是从TortoiseSVN目录中复制.exe和.dll文件,并将其粘贴到system32文件夹中。
您也可以从TortoiseSVN目录执行命令,并将工作目录的path添加到每个命令。 例如:
C:\Program Files\TortoiseSVN\bin> svn st -v C:\checkout
将bin添加到path应该使其工作,而不重复的文件,但它不适合我。
select“SVN命令行工具”后会变成这样:
有一个混乱,导致很多TortoiseSVN用户在他们真的在寻找svn.exe
命令行客户端时使用错误的命令行工具。*
我应该做什么或不能从命令行使用TortoiseSVN?
svn.exe
如果要从命令提示符运行Subversion命令,则应该运行svn.exe
命令行客户端。 TortoiseSVN 1.6.x和更早版本不包括SVN命令行工具,但现代版本。
如果你想获得SVN命令行工具而无需安装TortoiseSVN,可以查看SVN二进制发行版页面,或直接从VisualSVN下载页面下载最新版本。
如果你的系统上安装了SVN命令行工具,但是仍然得到错误'svn' is not recognized as an internal or external command
,你应该检查%PATH%
环境variables。 %PATH%
必须包含SVN工具目录的path,例如C:\Program Files (x86)\VisualSVN\bin
。
TortoiseProc.exe
除了svn.exe
,TortoiseSVN还附带了可从命令提示符调用的TortoiseProc.exe
。 在大多数情况下,您不需要使用此工具,因为它只能用于GUI自动化。 TortoiseProc.exe
不是SVN命令行客户端的替代品。
您可以同时安装TortoiseSVN和Apache Subversion命令行工具。 我通常从VisualSVN下载站点安装Apache SVN工具: https : //www.visualsvn.com/downloads/
安装完成后,将Subversion \ bin放入您设置的PATH中。 然后,当你想使用GUI时,你将能够使用TortoiseSVN,并且你可以从命令行使用正确的SVN命令行工具。
我已经安装了命令行工具,但仍然无法解决这个错误。
- 我重新启动了Android Studio,但没有解决我的问题
然后我意识到在安装SVN之后,我还没有重新启动PC,这是主要问题。