0

in my mercurial project I have some users that can clone the repository, but I need that they only can see some branches.

For example they can see only the "stable" branch so I can be sure they will never try unstable code. Or customer X can see only the branch with his customizations.

I know I can extract the source code of the release and give it to them. But for "non technical" reasons they want access to the repository.

Is it possible?

Thanks, Mario

4

1 回答 1

3

您可以使用ACL 扩展,在其中定义[acl.deny.branches][acl.allow.branches]

以下示例配置取自 ACL 文档页面。

  [hooks]

  # Use this if you want to check access restrictions at commit time
  pretxncommit.acl = python:hgext.acl.hook

  # Use this if you want to check access restrictions for pull, push,
  # bundle and serve.
  pretxnchangegroup.acl = python:hgext.acl.hook

  [acl]
  # Check whether the source of incoming changes is in this list where
  # "serve" == ssh or http, and "push", "pull" and "bundle" are the
  # corresponding hg commands.
  sources = serve

  [acl.groups]
  # If a group name is not defined here, and Mercurial is running under
  # a Unix-like system, the list of users will be taken from the OS.
  # Otherwise, an exception will be raised.
  designers = user1, user2

  [acl.deny.branches] 

  # Everyone is denied to the frozen branch: 
  frozen-branch = * 

  # A bad user is denied on all branches: 
  * = bad-user 

  [acl.allow.branches] 

  # A few users are allowed on branch-a: 
  branch-a = user-1, user-2, user-3 

  # Only one user is allowed on branch-b: 
  branch-b = user-1 

  # The super user is allowed on any branch: 
  * = super-user 

  # Everyone is allowed on branch-for-tests: 
  branch-for-tests = * 
于 2013-10-02T10:36:26.943 回答