通过命令行使用TortoiseSVN

Nig*_*ker 237 svn tortoisesvn

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

'svn'不被视为内部或外部命令

我用了这个命令

svn checkout [-N] [--ignore-externals] [-r rev] URL PATH
Run Code Online (Sandbox Code Playgroud)

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

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

Ann*_*ile 445

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

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

如何安装的,TortoiseSVN的,CommandLineTools

  • 就个人而言,我更喜欢这个被接受的答案:没有辅助安装,并且可以完全访问标准SVN命令行. (51认同)
  • 作为提示,如果您已经安装了Tortoise,则无需重新安装.您只需打开原始安装程序.msi文件,而不是选择"卸载",您可以选择"修改".它只会更新您当前的Tortoise安装,而不会弄乱任何东西. (32认同)
  • 同意.考虑到这个主题,这是更好的答案 (4认同)
  • ...更详细地说:Subversion的工作目录格式已经改变了几次,例如版本1.7和1.8.1.7客户端不会使用较旧的工作目录,除非它是`svn upgrade`d; 之后,1.6客户端将无法再使用它. (4认同)
  • 此外,还有一个额外的好处,即命令行工具版本与TortoiseSVN版本保持同步. (2认同)
  • 作为提示,如果您已经安装了Tortoise,并且没有.msi文件*,则可以转到控制面板->程序和功能,然后选择TortoiseSVN->修改。 (2认同)

Joe*_*oey 128

TortoiseSVN有一个命令行界面,可以用于TortoiseSVN GUI自动化,它与普通的Subversion不同.

您可以在文档中找到有关TortoiseSVN命令行选项的信息: 附录D.自动化TortoiseSVN.与此合作的主要计划是TortoiseProc.exe.

但是那里的一个注释已经说明了:

请记住,TortoiseSVN是一个GUI客户端,本自动化指南向您展示如何使TortoiseSVN对话框显示为收集用户输入.如果要编写不需要输入的脚本,则应使用官方的Subversion命令行客户端.

另一种选择是安装Subversion二进制文件.Slik SVN是一个很好的构建(并且不需要像Collabnet那样注册).如果您选择安装TortoiseSVN,则最新版本还包括命令行客户端.

  • 此解决方案已过时,TortosieSVN安装程序现在包含命令行工具. (23认同)
  • 只是为了补充一点 - 确保 Tortoise 在您的路径上。否则,什么都不会奏效。 (2认同)
  • 根据这个答案,我认为最好的办法是安装实际的SVN命令行客户端,而不是学习第二个命令行界面.不过,我不知道该怎么做. (2认同)
  • Thomas:默认情况下 TortoiseSVN 和 Slik SVN 都会相应地改变路径。 (2认同)

Dev*_*aja 84

如果您已经安装了TortoiseSVN GUI并想知道如何升级到命令行工具,以下是步骤......

  1. 转到Windows控制面板→ 程序和功能(Windows 7+)
  2. 找到TortoiseSVN并单击它.
  3. 从可用选项中选择"更改".
  4. 有关更多步骤,请参阅此图像.

    TortoiseSVN命令行启用

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


War*_*ock 26

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

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

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

      C:\ Program Files\TortoiseSVN\bin

  2. 由于您已经注册了TortoiseProc,您可以根据TortoiseSVN 文档使用它.

    例子:

    TortoiseProc.exe /命令:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"/ logmsg:"test log message"/ 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

PS要使用'svn'之类的友好名称而不是'TortoiseProc',请将'svn.bat'文件放在'TortoiseProc.exe'目录中.有一个svn.bat的例子:

TortoiseProc.exe %1 %2 %3
Run Code Online (Sandbox Code Playgroud)


小智 10

要启用svn再次运行TortoiseSVN安装程序,请选择"修改"(允许用户更改功能的安装方式)并安装"命令行客户端工具".


Sea*_*anH 9

我的解决方案是使用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:$*
Run Code Online (Sandbox Code Playgroud)

Google"doskey persist"提供有关如何设置.cmd文件的提示,该文件在每次打开命令提示符时都会运行,如Unix中的.*rc文件.