Mercurial – 在Windows上使用ACL扩展访问分支

我试图否认每个人在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只有当你有多个相同类型的钩子时才需要。