Hg ACL扩展:基于分支与文件名的推送权限组合控制需求
实现Hg分支+文件组合的ACL权限控制
嘿,这个需求完全可以通过Hg ACL扩展的分支级文件权限配置来实现,刚好能把分支限制和文件权限控制结合起来。我给你整理了具体的配置方案,直接套用就行:
第一步:启用ACL扩展
首先确保你的Hg仓库已经启用了ACL扩展,在仓库的.hg/hgrc文件里添加以下内容:
[extensions] acl =
第二步:配置具体权限规则
接下来针对alice和bob的需求,添加分支+文件的组合权限:
# 全局配置:alice拥有所有分支所有文件的读写权限 [acl.allow] alice = ** # 配置bob的分支访问权限:允许他操作default和wip分支 [acl.allow.branches] bob = default wip # bob在wip分支下的文件权限:允许操作所有文件 [acl.allow.branches.wip] bob = ** # bob在default分支下的文件权限:仅允许操作A文件(两种写法二选一即可) # 写法1:明确允许A文件 [acl.allow.branches.default] bob = A # 写法2:禁止B文件(效果和写法1一致,看你哪种更直观) # [acl.deny.branches.default] # bob = B
关键规则说明
**是通配符,代表所有文件/路径;- 分支级的文件规则(比如
[acl.allow.branches.wip])会覆盖全局的文件规则,这样就能实现不同分支下的差异化文件权限; - ACL规则的优先级是deny优先于allow,如果同时配置了同一用户同一分支同一文件的deny和allow,deny规则会生效。
验证权限是否生效
配置完成后,可以用Hg的调试命令验证规则:
# 查看bob在default分支对B文件的权限 hg debugacl bob default B # 查看bob在wip分支对所有文件的权限 hg debugacl bob wip **
内容的提问来源于stack exchange,提问作者Vinz
相关产品推荐
相关产品推荐

