Permisos Gitolite en sucursales

Estoy realmente perdido aquí. He leído bastantes ejemplos y los he probado todos. Los más básicos funcionan bien, pero cada vez que trato de pasar a algo un poco más complicado, todo se desmorona (incluso cuando estoy copyndo directamente el ejemplo). Además, para el logging, estoy en la versión 3 de gitolite, como lo muestra el correo no deseado del server:

this is gitolite@ubuntuserver running gitolite3 v3.1-2-g3eefc06 on git 1.7.9.5 

Todo esto dice que lo que estoy INTENTANDO lograr es (PIENSO) relativamente simple. Tengo un grupo de desarrolladores junior [@scrubs], y solo quiero que creen y se comprometan con nuevas sucursales, y que sean capaces de leer / extraer maestros. De esa manera puedo revisar su código antes de que se fusione.

Tengo un grupo de desarrolladores sénior [@vets] que quiero tener libertad libre.

Mi file de configuration es el siguiente:

  @scrubs = al ted matthew @vets = kevin will guy @offlimitbranches = master$ repo gitolite-admin RW+ = @vets matthew repo dawebsite RW+ = @vets - @offlimitbranches = @scrubs RW+ = @scrubs R @offlimitbranches = @scrubs R = daemon option deny-rules = 1 dawebsite "Owner" = "This is THE site" 

Noté que nada funcionó en absoluto para negarlo hasta que agregué:

  option deny-rules = 1 

de los cuales creo que encontré en tal vez uno de cada 20 ejemplos (un toque de diatriba perdona la frustración).

Con este ajuste actual, los veterinarios pueden hacer lo que se espera.

Scrubs no puede tirar o presionar para dominar (y creo que es porque toma la primera regla que puede coincidir?) Scrubs también no puede tirar o empujar a cualquier twig no principal, ni empujar las twigs recién creadas. Cada bash devuelve el mismo post "FATAL: [R / W] cualquier website matthew DENIED por refs / heads / master $"

He intentado usar master, master $, @offlimitbranches e incluso refs / heads / master en vano para la ref. De twig.

Si alguien puede ayudar a arrojar algo de luz sobre esto para mí, estaría muy agradecido.

Actualizar**

Jugando con cosas que he notado que si elimino matthew del grupo de scrubs y trato de manipularlo directamente con

  - master$ = matthew RW+ = matthew 

si se muda a una nueva sucursal e intenta lo siguiente: (gracias VonC por el aviso en los loggings)

 git pull origin newBranch git push origin newBranch 

cada uno devuelve un error

HALAR:

 ARGV=matthew SOC=git-upload-pack 'dawebsite.git' FROM=172.24.1.198 access(dawebsite, matthew, R, 'any'),-> R any dawebsite matthew DENIED by refs/heads/master$ trigger,Writable,access_1,ACCESS_1,dawebsite,matthew,R,any,R any dawebsite,matthew DENIED by refs/heads/master$ R any dawebsite matthew DENIED by refs/heads/master$<<newline>>(or you mis-spelled the reponame) 

EMPUJAR:

 ARGV=matthew SOC=git-receive-pack 'dawebsite.git' FROM=172.24.1.198 access(dawebsite, matthew, W, 'any'),-> W any medehrdev matthew DENIED by refs/heads/master$ trigger,Writable,access_1,ACCESS_1,dawebsite,matthew,W,any,W any dawebsite matthew DENIED by refs/heads/master$ W any dawebsite matthew DENIED by refs/heads/master$<<newline>>(or you mis-spelled the reponame) 

Parece que todas mis twigs coinciden con el maestro de ref. ¿Eso es porque todos son generados por el maestro?

Mi configuration, que está funcionando ahora:

 @gatekeepers = ustimenko @developers = ustimenko user1 user2 @deployers = puppet @project = repo1 @project = cakephp repo @project RW+ = @gatekeepers R master develop = @developers - master develop = @developers RW+ = @developers R = @deployers 

  1. Los guardianes tienen acceso completo.
  2. Los desarrolladores pueden leer maestro y desarrollar twigs, luego negaron otras acciones allí.
  3. Los desarrolladores pueden hacer todo lo demás.
  4. Los implementadores pueden leer todo.

Hmm miré en la documentation. Y lo intenté aquí.

@anything es para un grupo de usuarios u otros grupos. Lo que intentas allí no es correcto. No puede usar el operador "@" como signo de variable. Documentación de grupos

 repo dawebsite RW+ = @vets - branch1 = @scrubs RW+ = @scrubs R branch1 = @scrubs R = daemon option deny-rules = 1 

Permisos Gitolite