У меня есть требование, что мне нужно контролировать разрешение на добавление/удаление (не чтение/изменение/запись) файла в svn. Я проверил, есть ли способы управления доступом svn. Но, похоже, такого ограничения нет.

Я проверял некоторые предварительные коммиты, которые могут выполнять эту операцию, и у хука svnperms есть эта функция. Однако он также имеет аналогичную реализацию управления доступом, поэтому я не уверен, хочу ли я использовать это в сочетании со сценарием управления доступом.

Итак, могу ли я предложить наилучший способ реализации разрешений на добавление/удаление для пользователей?

6
Version Control Buddy 15 Апр 2011 в 13:38
Будет stackoverflow. com/questions/81361/… помочь?
 – 
VonC
15 Апр 2011 в 14:47
VonC: В общем, управление доступом, упомянутое в приведенной выше ссылке, контролирует разрешения на чтение/запись. Он не имеет никакого контроля над добавлением или удалением. Я ищу решение, которое позволит мне контролировать добавление/удаление. Может быть, я уточню это и в своем исходном посте.
 – 
Version Control Buddy
15 Апр 2011 в 18:06
Хороший момент, я, должно быть, слишком быстро прочитал ваш вопрос;)
 – 
VonC
15 Апр 2011 в 18:25
Используйте CVS и chmod 555 в указанном каталоге =) Никто больше не отдает должное CVS.
 – 
FoneyOp
15 Апр 2011 в 19:06
Я бы предложил что-то вроде авторизации на основе пути, чтобы предоставить каталогу доступ только для чтения, а затем читать/записывать файлы, которые пользователь может изменять, но, похоже, SVN не поддерживает разрешения для определенных файлов?
 – 
walkingTarget
15 Апр 2011 в 19:32

1 ответ

У меня есть хук Pre-commit на Perl, который позволяет установить доступ "добавить" . Это в основном используется для тегов (вы можете создать тег, но не изменить тег), но я полагаю, что это может быть проверка того, был ли добавлен конкретный файл. У меня нет специального доступа только удаление в моем хуке перед фиксацией, хотя это не должно быть слишком сложно добавить.

Я предпочел использовать список управления доступом сервера, чтобы предоставить доступ на чтение/запись к репозиторию, а затем убрать доступ на запись с помощью моего хука перед фиксацией. (Нет хука предварительной проверки, поэтому нет способа предотвратить доступ для чтения в самом хуке.)

Не стесняйтесь взглянуть на него и посмотреть, можете ли вы добавить необходимый вам доступ «добавить-удалить». Не должно быть слишком сложно. Я в значительной степени беру вывод журнала svnserve и анализирую его, чтобы узнать, был ли файл добавлен, удален, изменен и т. д.

2
David W. 18 Апр 2011 в 01:01
Спасибо за ваш ответ, однако я не могу получить доступ к URL-адресу. Не могли бы вы проверить?
 – 
Version Control Buddy
18 Апр 2011 в 09:58
Control Buddy: Я только что проверил, URL в порядке. Я могу загрузить его с Windows и Mac у разных интернет-провайдеров. Это из моего Dropbox, и некоторые компании заблокировали Dropbox. Может ли это быть проблемой? Можно ли добраться до dropbox.com? Если это так, то можно ли его скачать с места помимо работы?
 – 
David W.
21 Апр 2011 в 08:08