通过命令行使用TortoiseSVN

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

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

我使用了这个命令

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

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

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

13 Solutions collect form web for “通过命令行使用TortoiseSVN”

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

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

如何安装的,TortoiseSVN的,CommandLineTools

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并想知道如何升级到命令行工具,请按照以下步骤操作

  1. 转到Windows控制面板→ 程序和function (Windows 7 +)
  2. findTortoiseSVN并点击它。
  3. 从可用选项中select“更改”。
  4. 进一步的步骤请参考这张图片。

    TortoiseSVN命令行启用

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

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

  1. 在环境variables中定义path:

    • 打开“ 系统属性 ”;
    • 在“ 高级 ”选项卡上点击“ 环境variables ”button
    • 在“ 系统variables ”一节中select“ path ”选项并点击“ 编辑
    • 将variables值附加到TortoiseProc.exe文件的path,例如:

      C:\ Program Files \ TortoiseSVN \ bin

  2. 既然你已经注册了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,这是主要问题。

  • 哪些Visual Studio文件应该被subversion忽略以最小化冲突?
  • Ankhsvn没有集成到Visual Studio 2010中
  • SVN - 重新整合合并错误:“必须是祖先相关的”
  • 我可以只使用SVN或Mercurial提交部分代码吗?
  • 使用TortoiseSVN进行分支和合并最简单的方法是什么?
  • 撤销TortoiseSVN中的提交
  • 乌龟删除一个分支
  • 从svn库更新返回“无法读取块大小”错误
  • 使用TortoiseSVN我如何将树干的变化合并到分支,反之亦然?
  • 从SVN资源库中删除文件,而不删除本地副本
  • 什么是工作副本,什么是“切换”为我在龟龟SVN做?