Установка umask в Git / Gitolite

Я настроил Git и Gitolite, и в какой-то момент я помню, что видел настройку "umask" в одном из файлов конфигурации. Устанавливает ли это разрешения для всех файлов, которые я синхронизирую с помощью Git? Это именно то, что мне нужно. Где я могу его найти?

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 (без gitolite):

core.sharedRepository

, когда group (или true), репозиторий доступен для совместного использования несколькими пользователями в группе (убедитесь, что все файлы и объекты доступны для групповой записи).
Когда all (или world или everybody), репозиторий будет читаться всеми пользователями, в дополнение к group-shareable.
Когда umask (или false), то git будет использовать разрешения, сообщает umask.

Смотрите также на "как я могу поделиться репозиторием Git с несколькими пользователями на машине?" дополнительные.

когда у вас есть конфликты между платформами относительно разрешений, у вас также есть возможность "проинструктировать git игнорировать изменения прав доступа к файлам" (git config core.fileMode false).

Update: этот ответ охватывает gitolite 2. С gitolite 3 Настройка изменилась с $REPO_UMASK просто $UMASK.