合理的使用命令行,将命令行写在脚本中,可以简化日常操作
因为TortoiseSVN的所有命令都是通过命令行参数控制的,因此你可以用批处理脚本自动化或者从其他的程序(例如,你喜欢的文本编辑器)启动特定的命令和对话框。
重要提示:
请记住TortoiseSVN是一个GUI客户端,这自动化指南向您展示如何使TortoiseSVN对话框出现来收集用户输入。如果你想写一个脚本,不需要输入,您应该使用Subversion官方命令行客户端。
TortoiseSVN命令行,见官方帮助文档TortoiseSVN→Help
TortoiseSVN→Automating TortoiseSVN→TortoiseSVN Commands,截图如下:
TortoiseSVN GUI进程叫做TortoiseProc.exe,所有的命令行用参数/command:abcd指定, abcd是所需的命令行名称。
这些命令大多数需要至少一个路径参数,用/path:"somepath"来给定。
因为一些命令可以使用一系列目标路径的列表(例如,提交多个指定的文件), /path参数可以使用几个路径,用*字符隔开。
用于提交、更新和更多的命令的进度对话框在命令完成后通常一直处于打开状态,直到用户按下OK按钮。 这可以通过检查相应的选项设置对话框来改变。 但使用该设置将关闭进度对话框,无论是否你开始TortoiseSVN的命令从你的批处理文件或上下文菜单。
关于每个命令及相关可选参数,官方文档都有详细的介绍
通常使用的命令行有:log、:checkout、:import、:update、:commit、:add等
另外,/closeonend参数用于在命令行结束后自动关闭进度对话框
下面是几个batch脚本的例子(TortoiseSVN命令行应写在一行):
1、使用TortoiseSVN命令行打开Repo-browser资源浏览器,省去每次输入或切换URL的麻烦
batch命令行如下:
@echo off
start TortoiseProc.exe /command:repobrowser /path:https://ip[:port]/other /closeonend:1 exit
2、使用TortoiseSVN命令行打开日志对话框,并过滤日志
batch命令行如下:
@echo off
echo.请输入要过滤的内容
set /p filter=
start TortoiseProc.exe /command:log /path:https://ip[:port]/other /findtype:1 /startrev:HEAD /endrev:100 /findstring:"%filter%"
exit
3、使用TortoiseSVN命令行进行更新操作
batch命令行如下:
@echo off
start TortoiseProc.exe /command:update /path:E:svn_wc /closeonend:1 exit
如上batch命令行中:
start命令表示开启一个新的进程来执行其后的命令,这类似在*nix的SHELL中可以用command &的形式来在后台运行一个命令。
exit命令表示退出batch命令行。
(adsbygoogle = window.adsbygoogle || []).push({});