В настоящее время у нас есть репозиторий SVN, и мы хотим перейти на GIT, но в настоящее время мы не уверены, какая именно настройка GIT подойдет нам.
В настоящее время мы используем SVN (с Authz) + Apache (с WebDAV и LDAP). Мы используем Authz для SVN, поскольку нам нужен точный контроль доступа к подкаталогам в нашем репозитории (не каждый пользователь должен читать / записывать все каталоги).
Есть ли способ перенести этот файл разрешений Authz, чтобы репозиторий GIT использовал этот контроль разрешений? Или есть другой способ контролировать разрешения для GIT с помощью одного файла? Имейте в виду, что мы уже установили LDAP, поэтому файл разрешений должен просто сопоставлять имена пользователей с авторизованными каталогами.
Похоже, что вы, возможно, совершили переход на git (кстати, это не аббревиатура) немного преждевременно, потому что модели хранения данных и управления доступом git полностью отличаются от SVN.
Контроль доступа для каждого репозитория несложно; Хотя у меня нет никаких примеров конфигурации, это не должно быть сложно эмулировать, если вы используете доступ HTTPS, потому что модель аутентификации и авторизации во многом такая же, как и в SVN. Я знаю, что для управления доступом для каждой ветки это можно сделать с помощью gitolite (хотя по умолчанию это система доступа SSH, ее, вероятно, можно было бы исказить с помощью HTTPS, немного подумав).
Теоретически вы могли бы что-то сделать с доступом на основе пути для записи, используя некоторые хитроумно созданные ловушки, но вы действительно не может этого сделать для контроля доступа на чтение, потому что вся модель git фиксируется во всем репо, поэтому вы не можете помешать людям видеть все данные в репо.
Не повезло. Вы не можете сделать это с любой монолитный репозиторий (в отличие от пути на основе)