Короткий ответ
Нет.
Длинный ответ
Все стандартные методы работают или на более высоком уровне, чем одиночныйSVN-команда (манипулировать правами на чтение / запись совместно) или на более низком уровне (с отдельной DAV-командой, набор , который переводится в одну svn-команду)
Здесь Хмарбайз имел MISS ONE
Мысли и соображения
Если вы можете построить карту команд DAV-SVN (используя журнал Apache и руки)и убедитесь, что на DAV-уровне включенные и запрещенные svn-команды не имеют пересечений на DAV-стороне, вы отключаете только «плохие» dav-команды.Но я думаю, у них всех есть пересечения ( не проверено! ).
С другой стороны, если вы хотите ограничить доступ к более старой истории с некоторой точки (не полностью отключить с помощью команд, которыеЯ слепо считаю невозможным), вы можете разбить рабочее пространство аутсорсера на отдельное дерево , для которого используется контроль доступа на основе пути.
Здесь у Хмарбайса был MISS TWO
потому что он вспоминает только об 1) отдельном 2) несвязанном репозитории, в то время как у вас есть как минимум 2 варианта:
- Создать ветку в том же репо из HEAD, предоставить пользователю доступ только к этомуbranch
- Создание (из экспортированного HEAD) дополнительного репозитория для пользователя, привязка его к основному репо с внешними данными.
В обоих решениях журнал пользователя будет остановлен при первой ревизии в его пространстве (из-зак отсутствующим старым ревизиям или отсутствию доступа к истории до копирования), двунаправленная синхронизация все еще возможна для пользователя с достаточным уровнем доступа с помощью слияния.