通过命令行使用TortoiseSVN

时间:2009-10-26 15:11:03

标签: svn tortoisesvn

我想使用命令行SVN选项。我使用TortoiseSVN,我运行了几个命令,我得到以下错误。

  

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

我使用了命令

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

我想我应该添加一些环境变量或其他东西。

我应该从命令行使用或不能使用TortoiseSVN?

13 个答案:

答案 0 :(得分:425)

默认情况下,TortoiseSVN始终具有与之关联的GUI(图形用户界面)。但是在安装程序(1.7及更高版本)上,您可以选择“命令行客户端工具”选项,以便从命令行调用svn命令(如svn commit和svn update)。

以下是安装程序中“命令行客户端工具”选项的屏幕截图,您需要确保选择它:

How-to-install-TortoiseSvn-CommandLineTools

答案 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并想知道如何升级到命令行工具,请执行以下步骤...

  1. 转到Windows控制面板→程序和功能(Windows 7 +)
  2. 找到TortoiseSVN并点击它。
  3. 选择"更改"从可用的选项。
  4. 请参阅此图片以了解更多步骤。

    TortoiseSVN Command Line Enable

  5. 完成命令行客户端工具后,打开命令提示符并键入svn help以检查安装是否成功。

答案 3 :(得分:25)

要使用命令支持,您应该按照以下步骤操作:

  1. 在环境变量中定义路径:

    • 打开'系统属性';
    • 选项卡高级上的
    • 点击“环境变量”按钮
    • 在“系统变量”部分选择“路径”选项并点击“修改
    • 使用 TortoiseProc.exe 文件的路径附加变量值,例如:

      C:\ Program Files \ TortoiseSVN \ bin

  2. 由于您已注册 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

  3. 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?

svn.exe

如果要从命令提示符运行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

TortoiseProc.exe

svn.exe之外,TortoiseSVN附带TortoiseProc.exe,可以从命令提示符调用。在大多数情况下,需要使用此工具,因为它应该仅用于GUI自动化。 TortoiseProc.exe不是SVN命令行客户端的替代品。

答案 11 :(得分:0)

选择“SVN命令行工具”后,它将如下所示:

Enter image description here

答案 12 :(得分:-1)

我已经安装了命令行工具,但我仍然无法修复此错误。

  • 我重新启动了Android Studio,但它没有解决我的问题

然后我意识到安装SVN后我还没有重新启动PC,这是主要问题。