gpt4 book ai didi

svn 预提交 Hook 以禁止 svn :mergeinfo on non-root directories

转载 作者:行者123 更新时间:2023-12-01 16:41:27 25 4
gpt4 key购买 nike

我想使用预提交 Hook 来防止开发人员在非根目录上设置 svn:mergeinfo。也就是说,我想强制 svn:mergeinfo 只能在“trunk”或“branches/branchName”等目录上设置。有时需要“提醒”开发人员,使用根目录的子目录作为合并目标并不是一个好的做法(根据 here 列出的最佳实践)。有谁有这样的钩子(Hook)脚本或者知道我在哪里可以找到一个?我在 Windows 环境中,所以批处理或 powershell 会更好,但任何东西肯定会有帮助。

最佳答案

首先,我建议使用 perl 或 python 来完成任务,Windows 批处理还有很多不足之处。

您可以使用 http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ 中的一些示例脚本从开始。例如,verify-po.py 脚本检查文件编码,commit-access-control.pl.in 检查作者是否具有提交权限。您可能会在脚本中使用 svnlook diff (如后一个)来获取目录的更改属性,并使用正则表达式遍历相应的路径,无论它们是分支还是标记。

更新

找到enforcer pre-commit hook script这似乎就是您正在寻找的。

What this script does is it uses svnlook to peek into the transaction is progress. As it sifts through the transaction, it calls out to a set of hooks which allow the repository administrator to examine what is going on and decide whether it is acceptable.

它包含多个方法以及其中的verify_property_line_added(),因为为添加到文件属性的每一行调用它

关于svn 预提交 Hook 以禁止 svn :mergeinfo on non-root directories,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com