2010-06-29 16 views
13

Estamos considerando cambiar nuestro VCS a git o subversión. Preferiría cambiar a git, pero la subversión tiene una buena característica que no veo en git: por control de acceso a directorios.Permisos por directorio en git

Actualmente tenemos repositorios project1, project2 en cvs, con diferentes permisos. Nos gustaría tener un único repositorio, con dos directorios project1 & project2 con diferentes permisos. ¿Es factible con git como lo es con svn?

Conozco los submódulos, lo que probablemente podría lograr, pero el objetivo para nosotros es poder hacer una sola confirmación con cambios en el proyecto1 & project2.

Principalmente tenemos problemas de IP y queremos estar seguros de que algunas personas no pueden leer (no solo presionar) algunos directorios. Entonces, ¿está listo para el desafío o tendré que usar git-svn?

Gracias

Respuesta

5

Es factible con un repo central con acceso (push/pull) gestionado por gitolite.
Ver its features.

Si lo combinas con submódulos (que ustedes conocen), sólo se administrar per-repo o por acceso de rama y todavía cometen tanto proyecto 1 y project2 (con dos confirmaciones en caso de un subrepo: ver this question)

Si insiste en trabajar con una cesión temporal (a pesar de que usted tiene que fijar de datos que podrían evolucionar con su propio ciclo de vida, lo que debería hacer de ellos buenos candidatos para módulos), entonces las características gitolite no incluyen:

file/dir Restricciones basadas en NAME

Además de nombre-sucursal restricciones basadas, gitolite también permite restringir qué archivos o directorios pueden estar involucrados en los cambios siendo empujado

dpk menciones en los comentarios que esta última característica (el archivo/nombre de dir restricción) se detalla en el archivo conf/example.conf de Gitolite.

+0

Sí, vi eso, pero me parece que los permisos aquí son sobre bloqueos, no sobre clonación. Apenas veo cómo las cosas de la clonación irían bien con este tipo de negación de lectura. – Wam

+0

@Wam: para leer, * tiene * que usar el enfoque de submódulo: gitolite evitará cualquier clonación y extracción de un repositorio con las ACL correctas (y un submódulo es un repositorio propio de Git). En otras palabras, bloqueará el pull en el repositorio o nivel de sucursal. – VonC

+0

sí, pero luego pierdo la "única confirmación/sola pulsación/solo tirón" Funcionalidad – Wam

Cuestiones relacionadas