Из SVN в GIT: что-то похожее на authz?

В настоящее время у нас есть настройка репозитория SVN и мы хотим переключиться на GIT, но в настоящее время мы не уверены, какая именно настройка GIT подойдет нам.

В настоящее время мы используем SVN (с Authz) + Apache (с WebDAV и LDAP). Мы используем Authz для SVN, так как нам нужен точный контроль доступа к подкаталогам в нашем репозитории (не каждый пользователь должен читать / записывать все каталоги).

Есть ли способ портировать этот файл разрешений Authz, чтобы репозиторий GIT использовал этот контроль разрешений? Или есть какой-то другой способ, которым мы можем управлять разрешениями на GIT с помощью одного файла? Имейте в виду, что у нас уже установлен LDAP, поэтому файл разрешений должен просто отображать имена пользователей в авторизованные каталоги.

2 ответа

Решение

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

Контроль доступа для каждого репозитория не сложен; хотя у меня нет примеров конфигурации, имитировать не сложно, если вы используете доступ HTTPS, потому что модель аутентификации и авторизации такая же, как и в SVN. Я знаю, что для управления доступом для каждой ветви это можно сделать с помощью gitolite (хотя по умолчанию это система доступа SSH, ее, вероятно, можно было бы использовать с использованием HTTPS, не задумываясь).

Теоретически, вы могли бы предположительно сделать что-то с доступом на основе пути для записей с использованием некоторых хитроумно обработанных хуков, но вы действительно не можете сделать это для контроля доступа для чтения, потому что вся модель git - это фиксация по всему репо, так что вы можете не мешать людям видеть все данные в репо.

Не повезло. Вы не можете сделать это с любым монолитным хранилищем (в отличие от основанного на пути)

Другие вопросы по тегам