2013-10-02 3 views
0

dans mon projet mercurial J'ai quelques utilisateurs qui peuvent cloner le référentiel, mais j'ai besoin qu'ils ne puissent voir que quelques branches. Par exemple, ils ne peuvent voir que la branche "stable", donc je peux être sûr qu'ils n'essaieront jamais de code instable. Ou le client X ne peut voir que la branche avec ses personnalisations.Mercurial: cloner seulement une branche d'un dépôt

Je sais que je peux extraire le code source de la version et le leur donner. Mais pour des raisons «non techniques», ils veulent accéder au référentiel.

Est-ce possible?

Merci, Mario

Répondre

3

Vous pouvez utiliser la ACL extension, dans lequel vous définissez [acl.deny.branches] et [acl.allow.branches].

L'exemple de configuration suivant provient de la page de documentation de la liste de contrôle d'accès.

[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 = * 
Questions connexes