我试图否认每个人在Windows上使用ACL提交访问分支,但似乎无法弄清楚。 根据我发现这个小文档应该工作。
我的hgrc文件:
[extensions] hgext.acl= [hooks] pretxncommit.acl = python:hgext.acl.hook [acl] sources = commit [acl.deny.branches] default = *
这不应该拒绝每个人提交访问默认分支? 我试过了,现在每一个提交,不pipe分支给:
error: pretxncommit.acl hook failed: config error - hook type "pretxncommit" can not stop incoming changesets transaction abort! rollback completed abort: config error - hook type "pretxncommit" cannot stop incoming changesets
引导我认为我configuration了错误,但在AclExtension文档中他们完全是这样做的。
以下是来自acl.py的相关代码:
if hooktype not in ['pretxnchangegroup', 'pretxncommit']: raise util.Abort(_('config error - hook type "%s" cannot stop ' 'incoming changesets nor commits') % hooktype)
我会考虑从你的钩子名称中“ .acl
”之后检查,但也许在你的版本的mercurial(什么版本?)它不是?
尝试改变你的[hooks]
部分只是这样的:
[hooks] pretxncommit = python:hgext.acl.hook
.acl
只有当你有多个相同类型的钩子时才需要。