如何在SVN Tortoise提交时不显示对话框?

6

我有一个修改一些文件的进程,希望能够通过命令行Tortoise SVN提交它们而无需点击“ok”按钮。对话框弹出后,我的脚本被迫等待我点击“ok”。以下是我使用的参数:

TortoiseProc.exe /command:commit /path:"c:\svn\MyProject" /notempfile /logmsg:"Files Modified 2010-02-12" /closeonend:3
2个回答

6

就像 @bmargulies 所说,只需使用 svn.exe

cd "c:\svn\MyProject"
svn commit -m "Files Modified 2010-02-12"

在提交时你不能隐藏 TortoiseProc.exe 对话框:

重要提示

请记住 TortoiseSVN 是一个图形化界面客户端,本自动化指南将向您展示如何使 TortoiseSVN 对话框出现以收集用户输入。如果您想编写不需要用户输入的脚本,应该使用官方的 Subversion 命令行客户端。

(来源:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html)

如果你依赖于 TortoiseProc 的 /closeonend:3 行为 来在出现错误、冲突或合并时提醒你,你需要启用 SVN 的退出代码。
虽然我无法在快速谷歌搜索中找到超过“0是成功,非0是错误”的返回代码值列表。


1
@NSchubhan - 如果你安装了TortoiseSVN,它已经包含了svn.exe。我认为Tortoise的警告实际上应该说“如果你只想编写一个不需要输入的脚本,你应该使用官方的Subversion命令行客户端。” Tortoise捆绑的SVN对于我所有的命令行冒险都很好用。 - mskfisher
@mskfisher:我也想在不点击“OK”按钮的情况下提交到svn。但不幸的是,在TortoiseSvn bin下没有'svn.exe'。还有其他方法可以做到这一点吗?请告诉我。 - Rahul
@Rahul,请看上面NicoMinsk的评论,或访问https://dev59.com/MnA85IYBdhLWcg3wCfHm。 - mskfisher

4

我建议使用svn.exe而不是TortoiseProc.exe。这样会更加简单。


svn.exe 的命令集与 Tortoise 非常相似,唯一缺失的是 Tortoise 的合并/冲突编辑器。我的意思是,svn commitsvn update 已经非常简单了,还能更容易吗? - Earlz
@bmargulies:我也在尝试在不点击“OK”按钮的情况下提交到svn。但不幸的是,在TortoiseSvn bin下没有'svn.exe'。还有其他方法可以做到这一点吗?请告诉我。 - Rahul
安装普通的 SVN 发布版。 - bmargulies

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接