2012-08-10 8 views
6

Si consideri il seguente repo:gitolite non consentire l'accesso per la directory sul ramo principale, ma non sul ramo utente

REPO/src/A/

REPO/src/B/

E 'possibile avendo solo 1 repo per implementare le seguenti restrizioni?

  1. On branch master, consentono l'accesso completo a manutentori ruolo
  2. On branch master, non consentire l'accesso ad A ma consentire la B al ruolo di collaboratori.
  3. Sulle filiali personali, consentire l'accesso completo a A e B ai creatori.
+0

Nota : il VREF per nome potrebbe essere, nel tuo caso: 'VREF/NAME/src/A' invece di' VREF/NAME/A'. – VonC

risposta

4

Con Gitolite V3 or 'g3' e la sua VREF, dovrebbe essere possibile attuare tali restrizioni.

Ma l'accesso che è possibile gestire è solo per l'accesso in scrittura.
Se un utente può clonare un repository, lui/lei avrà accesso in lettura a all il repository (come menzionato in "gitolite: allow to change only selelected files").
Se si vuole veramente limitare l'accesso in lettura, si potrebbe provare gitolite 'partial-copy'.

alcune note:

Un access rule è come:

<permission> <zero or more refexes> = <one or more users/user groups> 

<zero or more refexes> significa che il barattolo combina refexes

che possa dare qualcosa di simile (non testato):

repo REPO 
     RW+ master      = MAINTAINER 
     - master   VREF/NAME/A = CONTRIBUTOR 
     RW master   VREF/NAME/B = CONTRIBUTOR 
     RW personal/USER/ VREF/NAME/A = CREATOR 
     RW personal/USER/ VREF/NAME/B = CREATOR 
+0

Ehi, non mi interessa l'accesso in lettura. Darò il via con la configurazione suggerita e tornerò con un feedback. – Konstantinos

+1

@Konstantinos Eccellente. Assicurati di aver installato gitolite V3 nella configurazione di GitLab. E provalo fuori da gitlab, con il comando git diretto tramite ssh. – VonC

+0

@VonC, ma non sono combinati refless ORed e non ANDed? –

0
repo REPO 
    - master VREF/NAME/src/A = @contributors 
    RW+ master = @maintainers @contributors 
    RW+ personal/ = @creators