我团队中的开发人员对 SVN 所做的每一项更改都提供了应用程序的需求,并且该需求具有一个 id,该 id 写入提交消息的第一行。
我需要一个钩子来捕获这个 id 并调用外部服务来验证 id 状态是否正常。我已经阅读了很多关于 SVN 结构和钩子的内容,但不明白如何用 Java 编写这个钩子。
挂钩只是放置在接受特定参数的特定位置的可执行程序。它是什么语言并不重要。
在您的情况下,如果您尝试用 Java 编写它并在 Windows 上运行它,您可能需要编写一个 .bat 文件并将其安装在具有正确名称的 hooks 目录下。您需要将批处理文件接收到的参数传递给您的 java 程序。
您在这里需要一个批处理文件的原因是因为 Windows 不能只为您启动 Java 程序,您需要使用正确的参数运行 Java。
这样的东西应该可以工作:@echo off java -jar myjavahook.jar %*
%* 将所有参数复制到批处理文件并将它们添加到您的 java 程序中。
根据您的 Java 程序,您可能需要不同或额外的参数。
由于您正在编写预提交挂钩并且批处理文件的退出代码很重要,因此您可能还希望执行其他问题中描述的类似操作: 批处理文件是否可以捕获命令的退出代码它在调用?