2012-05-17 9 views
8

Chciałbym sklonować projekt git (z github, powiedzmy), i mieć katalog najwyższego poziomu być zapisywalny przez grupę.'git clone' respects umask, z wyjątkiem katalogu projektu najwyższego poziomu

Próbowałem kilku różnych rzeczy. Po pierwsze, po prostu ustawiając umask przed klonowaniem.

$ umask 
0002 

Pliki, które tworzę są następnie zapisu przez grupę

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

Teraz staram git clone

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

Ale katalog klon nie zapisywalny przez grupę.

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

próbowałem to samo z repo utworzonego git init --shared=umask (która powinna być już domyślnie) w katalogu z 775 uprawnień. Po naciśnięciu przycisku na github git clone uzyskuje się takie same wyniki.

To nie jest wielka sprawa, mogę skasować w moich skryptach kasowych. Ale jeśli istnieje odpowiedni/wbudowany sposób, aby to zrobić, jest to lepsze. Git to wersja 1.7.4.1 na Ubuntu 11.04.

Wszelkie pomysły i linki są mile widziane. Widziałem this post, but it uses chmod, nie byłem w stanie znaleźć wiele więcej na ten temat. Dzięki!

Odpowiedz

2

Spróbuj ustawić globalny "core.sharedRepository = grupa" tylko dla polecenia Klon:

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

Hej @ widelec0, dzięki za odpowiedź. Mój katalog .git i wszystkie pliki projektu są już zapisywane w grupach, dzięki mojemu umask. Aby to wyjaśnić, staram się, aby katalog najwyższego poziomu projektu był zapisywany w grupach (np. 'Ls -ld repo' wyświetliłoby' drwxrwxr-x'). Ustawienie 'core.sharedRepository = group' robi to samo, co' git init --shared = group' za kulisami i nie powoduje, że katalog najwyższego poziomu jest zapisywalny dla grupy. –

+0

Rozumiem. Nie, nie jest to – fork0

+0

Tak, tak nie jest. Nie sądzę, że Git ma coś do tego, ale pozwól mi sprawdzić ... – fork0

Powiązane problemy