Ответ 1
настройки umask в Gitolite существуют для изменения umask для вновь созданных репозиториев (а не файлов, управляемых в версиях этими репозиториями)).
См. gitolite.rc doc:
$REPO_UMASK
, восьмеричный, по умолчанию 0077По умолчанию
UMASK
, который использует gitolite, все репозитории и их содержимое имеют разрешенияrwx------
. Люди, которые хотят запустить gitweb, понимают, что этого не будет.Правильный способ справиться с этим состоит в том, чтобы дать этой переменной значение, подобное
0027
(обратите внимание на синтаксис: нужно указать 0), а затем заставить пользователя запускать веб-сервер (apache,www-data
, что угодно) член группы git.Если вы уже установили gitolite, то существующие файлы должны быть исправлены вручную (для umask или
0027
, что было быchmod -R g+rX
). Это связано с тем, чтоUMASK
влияет только на разрешения для вновь созданных файлов, а не на существующих.
Эти настройки аналогичны тем, которые используются при создании непосредственно репозитория git (без гитолита):
core.sharedRepository
Когда
group
(илиtrue
), репозиторий становится доступным между несколькими пользователями в группе (убедитесь, что все файлы и объекты записаны на группы).
Когдаall
(илиworld
илиeverybody
), репозиторий будет доступен для чтения всем пользователям, кроме того, чтобы бытьgroup-shareable
.
КогдаUMASK
(илиfalse
), git будет использовать разрешения, сообщенныеUMASK
.
См. также "Как добавить общий репозиторий git с несколькими пользователями на машине?" для более подробной информации.
Если у вас есть конфликты между платформами относительно разрешений, у вас также есть опция "указать git игнорировать изменения прав доступа к файлам" (git config core.fileMode false
).
Обновление: этот ответ охватывает гитолит 2. С гитолит 3 настройка изменилась с $REPO_UMASK
на $UMASK
.