2012-05-17 14 views
8

Me gustaría clonar un proyecto git (de github, por ejemplo), y hacer que el directorio de nivel superior sea editable por grupo.'git clone' respeta umask, excepto el directorio de proyecto de nivel superior

Probé un par de cosas diferentes. Primero, simplemente configura el umask antes de la clonación.

$ umask 
0002 

archivos que creo son entonces puede ser escrito por el grupo

$ touch test 
$ ls -l test 
-rw-rw-r-- 1 user group 0 2012-05-17 09:32 test 

Ahora trato git clone

$ git clone [email protected]:user/repo.git 
Cloning into repo... [succeeds] 

Pero el directorio clon no puede ser escrito por grupo.

$ ls -ld repo 
drwxr-xr-x 11 user group 4096 2012-05-17 09:32 repo 

he intentado lo mismo con una cesión temporal creada con git init --shared=umask (que ya debe ser el valor por defecto) en un directorio con 775 permisos. Después de presionar a github git clone obtiene los mismos resultados.

Esto no es un gran problema, puedo chmod en mis scripts de pago. Pero si hay una forma correcta/integrada de hacerlo, es preferible. Git es la versión 1.7.4.1 en Ubuntu 11.04.

Se aprecian todas las ideas o enlaces. Vi this post, but it uses chmod, no he podido encontrar mucho más sobre esto. ¡Gracias!

Respuesta

2

Trate de ajustar la "core.sharedRepository = grupo" mundial sólo por el comando de clonación:

git -c "core.sharedRepository=group" clone [email protected]:user/repo.git 
ls -ld repo/.git 
drwxrwsr-x 8 user user 4096 Jul 4 22:16 repo/.git/ 
+0

Hola @ fork0, gracias por la respuesta. Mi directorio .git y todos los archivos de proyecto ya pueden escribirse en grupo, gracias a umask. Para aclarar, intento que el directorio de nivel superior del proyecto sea de escritura grupal (es decir, 'ls -ld repo' mostraría' drwxrwxr-x'). El ajuste 'core.sharedRepository = group' hace lo mismo que' git init --shared = group' detrás de las escenas, y no hace que el directorio de nivel superior sea editable por grupo. –

+0

Ya veo. No, no lo hace – fork0

+0

Entonces sí, no es así. No creo que Git tenga nada para esto, pero déjame ver ... – fork0

Cuestiones relacionadas