Настройки 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-репо (без Gitolite):
core.sharedRepository
Когда group
(или true
), хранилище становится доступным для совместного использования несколькими пользователями в группе (убедитесь, что все файлы и объекты доступны для записи в группе).
Когда all
(или world
или everybody
), хранилище будет доступно для чтения всем пользователям, кроме того, оно будет group-shareable
.
.
Когда umask
(или false
), git будет использовать разрешения, сообщенные umask
.
См. Также « Как поделиться репозиторием Git с несколькими пользователями на машине? » для получения дополнительной информации.
Когда у вас возникают конфликты между платформами относительно разрешений, у вас также есть возможность « дать команду git игнорировать изменения разрешений для файлов » (git config core.fileMode false
).
Обновление: Этот ответ охватывает gitolite 2. С Gitolite 3 настройка изменилась с $REPO_UMASK
на $UMASK
.