SVN: показывать пользователю только определенные части дерева SVN
У меня есть один репозиторий SVN для всех моих проектов. В SVN у меня также есть каталог, который содержит скомпилированные библиотеки (например,.dll,.swc), на которые непосредственно ссылаются проекты.
Я хочу, чтобы другой разработчик сделал для меня проект, и я не хочу открывать ему все свое svn-дерево. Если бы речь шла только о невозможности фиксации, я бы просто установил разрешение на чтение в authz, но я не хочу, чтобы он видел весь мой другой исходный код.
Я не хочу, чтобы он сделал две проверки, одну для проекта и одну для папки библиотеки, потому что все относительные пути будут испорчены, если я попытаюсь проверить это и скомпилировать.
Поэтому нужно следующее: извлечение ствола этим пользователем должно привести к извлечению, которое содержит структуру папок всех соответствующих этому пользователю каталогов, исключая все несущественные.
Т.е. если мой svn svn checkout выглядит так:
-trunk
|-BinLibrary
|-Project 1
|-Project 2
|-ExternalProjects
|-Project 3
Я хочу, чтобы его проверка выглядела так:
-trunk
|-BinLibrary
|-ExternalProjects
|-Project 3
Это возможно? Если да, то как?
Любая помощь приветствуется!
Изменить: я использую svnserve в среде Windows (без Apache)
2 ответа
В файле authz, в username = permission
Строки, оставляя разрешение пустым, означает, что соответствующий пользователь не имеет доступа, даже чтения. В руководстве рассмотрим этот пример:
[calc:/branches/calc/bug-142]
harry = rw
sally = r
[calc:/branches/calc/bug-142/secret]
harry =
Гарри не может прочитать секрет.
Вы не можете дать другому пользователю разрешения на весь репозиторий, а затем на определенный путь чтения-записи.