我是颠覆管理的新手。是否可以在 subversion 中创建自定义事件来触发钩子,例如我希望在创建存储库时执行脚本。我是否可以创建一个在创建新存储库时执行的钩子。
你们中的任何人都可以解释一下如何触发颠覆钩子。例如,如何触发预提交挂钩。subversion 如何知道在每次提交之前应该执行一个特定的脚本?
你知道一个钩子是在 Subversion 服务器端而不是在客户端执行的。所以这意味着基于存储库的创建根本不可能,因为钩子脚本是存储库的一部分。所以在这种情况下是不可能的。
基础知识基于位于存储库的 hooks 文件夹中的脚本。如果这些脚本被定义为可执行(+ 名称),则它们将被执行,否则不会执行。
据我了解,正如钩子的名称清楚地表明,当用户向 Subversion 服务器提交时,服务器pre-commit
在执行提交之前运行钩子,然后当提交成功完成时,post-commit
之后运行。
关于应该执行什么是完全可定制的。您可以运行简单的 shell 脚本,然后调用其他脚本(例如 PHP、Python.. 等)。它是由你决定。
只需在服务器上编辑存储库目录中的post-commit
文件hooks
,然后每次客户端提交时,这些脚本就会运行。
检查此以获取更多信息:http ://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html ,特别是标题为“实施存储库挂钩”的部分