управление разрешениями между windows и mac git commiters - PullRequest
3 голосов
/ 27 июля 2011

История выглядит так ...

У моей команды есть git-репо на файловом сервере Windows. Парень из Windows устанавливает репо и начинает совершать. Я, макинтош, клонирую мою файловую систему, делаю некоторые коммиты, затем отталкиваюсь (на самом деле я иду в репо и вытягиваю свои изменения). Проблема в том, что теперь у меня есть права доступа к файлам в репозитории, и хотя у меня есть права на чтение / запись для всех в папке, в которую я клонировал репозиторий, репо каким-то образом принимает дополнительные ограничения на разрешения для ОС Windows, и мои коллеги не могут совершить.

Сценарий может разыграть и другой путь. Я установил репозиторий, и Windows-парень испортил разрешения.

Итак, как вы, ребята, гарантируете, что разрешения для разных сред разработки одинаковы?

1 Ответ

1 голос
/ 27 июля 2011

Может быть, вы могли бы попробовать конфигурацию core.sharedRepository:

core.sharedRepository

Когда группа (или true), хранилище становится доступным для нескольких пользователей в группе (убедитесь, что все файлы иобъекты доступны для записи в группе).

  • Когда все (или мир, или все), хранилище будет доступно для чтения всем пользователям, в дополнение к совместному использованию в группах.
  • Когда umask (или false), git будет использовать разрешения, сообщенные umask (2).
  • Когда 0xxx, где 0xxx - восьмеричное число, файлы в хранилище будут иметь это значение режима.0xxx переопределит пользовательское значение umask (тогда как другие опции будут переопределять только запрошенные части пользовательского значения umask).
    Примеры: 0660 сделает репо доступным для чтения / записи для владельца и группы,но недоступен для других (эквивалентно группе, если umask не является, например, 0022).
    0640 - это репозиторий, который может быть прочитан группой, но не доступен для записи группой.Смотрите git-init (1).

Ложь по умолчанию .

...