如何在Windows中编写SVN预提交钩子脚本(服务器端)

时间:2013-08-19 21:22:32

标签: java svn svn-hooks

我的团队中的开发人员对SVN所做的每次更改都提交了应用程序的要求,并且此要求具有在提交消息的第一行中写入的id。

我需要一个钩子来捕获这个id并调用外部服务来验证id状态是否正常。我已经阅读了很多关于SVN结构和钩子的内容,但不明白如何在Java中编写这个钩子。

1 个答案:

答案 0 :(得分:0)

hook is只是一个放在特定地方的可执行程序,它接受特定的参数。它的语言并不重要。

在您的情况下,如果您尝试使用Java编写并在Windows上运行它,则可能需要编写.bat文件并将其安装在具有正确名称的hooks目录下。您需要将批处理文件接收的参数传递给您的java程序。

这里你需要一个批处理文件的原因是因为Windows不能只为你启动一个Java程序,你需要使用正确的参数运行Java。

这样的事情应该有效:     @echo关闭     java -jar myjavahook.jar%*

%*复制批处理文件的所有参数,并将它们添加到您的java程序中。

根据您的Java程序,您可能需要不同的或附加的参数。

由于您正在编写预提交挂钩并且批处理文件的退出代码很重要,因此您可能还希望执行此类其他问题中描述的操作: Can a batch file capture the exit codes of the commands it is invoking?