Subversion – 设置默认的提交钩子?

是否有无论如何设置一个自定义的提交钩子是一个“默认”钩子时创build的存储库?

在通过'svnadmin create / path / to / repo'命令(start-commit,pre / post-commit,pre / post-revprop-change,pre / post-lock和前/后解锁),我知道没有办法将其他钩子自动包含为所有新创build的存储库的“默认”挂钩。

我想你可以build立一个封装shell脚本来创build新的存储库,调用svnadmin create命令,为存储库path设置一个variables,然后将自定义提交挂钩复制到path/ to / repo / hooks文件夹中,然后将其用于所有新的存储库。

最后,因为你提到这个自定义钩子特别是一个提交钩子,所以在讨论钩子脚本 (我的重点)时,我应该重复版本控制与Subversion给出的警告:

虽然钩子脚本几乎可以做任何事情,但钩子脚本作者应该保持克制的一个维度: 不要使用钩子脚本修改提交事务 。 尽pipe使用钩子脚本来自动纠正提交的文件中存在的错误,缺陷或策略违规可能是诱人的,但这样做可能会导致问题。 Subversion保留了某些数据库数据的客户端caching,如果用这种方式更改了一个commit事务,这些caching就会变得难以捉摸。 这种不一致可能导致令人惊讶和意外的行为。 不要修改事务,而应该简单地在预提交钩子中validation事务,如果不符合要求,就拒绝提交。 作为奖励,您的用户将学习认真,遵守法规的工作习惯的价值