'git clone' учитывает umask, за исключением каталога проекта верхнего уровня.

Я хотел бы клонировать проект git (скажем, из github) и сделать так, чтобы каталог верхнего уровня был доступен для записи группе.

Я пробовал разные вещи. Во-первых, просто установите umask перед клонированием.

$ umask
0002

Файлы, которые я создаю, затем доступны для записи группе

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

Теперь я пытаюсь git clone

$ git clone git@github.com:user/repo.git
Cloning into repo... [succeeds]

Но каталог клона не доступен для записи группой.

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

Я попробовал то же самое с репозиторием, созданным с помощью git init --shared=umask(которое уже должно быть по умолчанию) в каталоге с правами доступа 775. После отправки на github git cloneполучает те же результаты.

В этом нет ничего страшного, я могу использовать chmod в своих сценариях оформления заказа. Но если есть правильный/встроенный способ сделать это, это предпочтительнее. Git — это версия 1.7.4.1 в Ubuntu 11.04.

Приветствуются любые идеи или ссылки. Я видел этот пост, но он использует chmod, я не смог найти ничего по этому поводу. Спасибо!

9
задан Community 13 April 2017 в 12:13
поделиться