如何将批处理文件作为 Tortoise SVN 挂钩执行

How to execute batch file as Tortoise SVN hook

我希望 运行 通过 TortoiseSVN 挂钩脚本在 START 提交或 PRE 提交中提交一个批处理文件。我所做的测试均无效。

我创建了一个批处理文件 (svnadd.bat),它现在只是将一条消息写入文本文件,所以我知道它被触发了。但是,批处理文件不会出现在 运行 中,因为消息没有被写入。

echo YES>C:\Temp\commit.txt

这是我的挂钩设置。

我的过程。右键单击受 svn 版本控制和 select SVN 提交的文件夹。提交对话框显示,但是批处理文件没有执行。

svn 控制下的所有 svn 软件、存储库和 folder/file 结构都驻留在同一个 computer/drive 上。

根据屏幕截图,我还尝试将 cmd.exe 添加到命令行的前面作为

C:\windows\system32\cmd.exe /c C:\Tools\SVN\svnadd.bat

如果您希望某些脚本在 SVN 事件(如 SVN Commit)上执行,您可以尝试使用 team city。尽管 TeamCity 主要用作构建服务器,但我认为它可以满足您的需求。

@lazybadger 的评论提供了 "path" 需要位于最高工作副本路径的答案。对我来说,这是 C:\Projects.

一旦我将 C:\Projects 设置为路径,脚本钩子 运行.

我是这样配置的。成功了。

post_commit_hook.bat:

echo Hello World >file.txt

提交后,file.txt将保存到

E:\SVN\XXX\branches\autoCommit