Разрешения для каждого каталога на git
Мы рассматриваем возможность переключения нашего VCS на git или subversion. Я бы предпочел переключиться на git, но subversion имеет приятную функцию, которую я не вижу в git: для управления доступом к каталогам.
В настоящее время у нас есть репозитории project1, project2 в cvs с разными разрешениями.
Мы хотели бы иметь один репозиторий с двумя каталогами project1 и project2 с разными разрешениями. Возможно ли это с git, как и с svn?
Я знаю о подмодулях, которые, вероятно, могут это достичь, но целью для нас является возможность сделать одно фиксированное с изменениями в project1 и project2.
У нас главным образом проблемы с IP-адресами, и мы хотим быть уверенными, что некоторые люди не могут читать (а не просто нажимать) некоторые каталоги.
Итак, git для вызова или мне придется использовать git -svn?
Спасибо
Это выполнимо с центральным репо с доступом (push/pull), которым управляет gitolite.
Смотрите его функции.
Если вы комбинируете это с субмодулями (о которых вы знаете), вы будете управлять только для каждого репо или для доступа к каждой ветки и по-прежнему выполнять как project1, так и project2 (с двумя коммитами в случае подрежима: см. этот вопрос)
Если вы настаиваете на работе с одним репо (даже если вам нужно установить данные, которые могут развиваться с их собственным жизненным циклом, что должно сделать их хорошими кандидатами для модулей), то функции gitolite включают:
файл /dir Ограничения на основе NAME
В дополнение к ограничениям на основе имен ветвей, гитолит также позволяет вам ограничить, какие файлы или каталоги могут быть задействованы в нажатых изменениях
dpk упоминает в комментариях, что эта последняя функция (ограничение имени файла /dir ) подробно описана в conf/example.conf
файл Gitolite.