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!
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. –
Rozumiem. Nie, nie jest to – fork0
Tak, tak nie jest. Nie sądzę, że Git ma coś do tego, ale pozwól mi sprawdzić ... – fork0