Мы запускаем SVN-репозиторий. Некоторые из наших более опытных пользователей должны иметь возможность выполнять администрирование SVN, не полагаясь на системного администратора.
Они должны уметь создавать SVN-репозитории, удалять SVN-репозитории и выполнять такие команды, как 'svnadmin dump' и 'svnadmin load'.
Мы хотели бы избежать SSH-доступа на этих машинах FreeBSD и предпочли бы предоставлять интерфейс службы через веб-интерфейс.
Я ищу простой скрипт (или небольшое количество скриптов), которые используют Perl или PHP. Я нашел svnadmin (от Jochen Hoenicke) или svnadmin.pl (от doug munsinger), но надеялся найти что-то с большим сообществом пользователей или то, что было рекомендовано другими.
Похоже, что Trac позволяет администрировать SVN, но может иметь больше возможностей, чем нам нужно.
источник
Ответы:
Поздний ответ, так как я новичок в serverfault: мы (университетский факультет компьютерных технологий) разработали наш собственный веб-интерфейс svn для самообслуживания и сделали его доступным с открытым исходным кодом. Именное repocafe, доступно по адресу http://repocafe.cs.uu.nl/ . Смоделированный для наших собственных нужд, он может работать с одним или несколькими серверами ldap и гостевыми пользователями. Может быть, немного излишним для «простого».
источник
В итоге мы решили пойти со свнадмином (от Йохена Хенике).
Это победило, потому что это был один простой файл с 400 строками кода, и это то, что мы могли бы исправить сами при необходимости. К сожалению, у него нет сообщества пользователей или рекомендаций. Но это простота выигрывает. Спросите меня через 6 месяцев, если мы рекомендуем это;)
источник
Trac и Redmine - единственные, кого я знаю, которые делают это хорошо; но оба они нацелены больше на управление проектами, чем на простое администрирование хранилища.
источник
Есть модуль Usermin для Subversion, но я не уверен, что он позволит вам делать то, что вам нужно.
источник
Есть "Удобный для пользователя svn" USVN . Я думаю, вы обнаружите, что большая часть усилий сообщества для чего-то подобного невелика - SVN поддерживается в актуальном состоянии, но инструменты администрирования - это одна из частей, которая этого не делает. Они, как правило, пишутся один раз и работают вечно, поэтому эти инструменты с графическим интерфейсом не нужно менять. Так что - не беспокойтесь о том, насколько велико сообщество в этом случае.
источник
Я отвечу на свой вопрос для потомков.
Я также нашел USVN , который является инструментом администрирования SVN на основе PHP. Он прошел несколько итераций, имеет сообщество пользователей и блестящий полнофункциональный веб-сайт,
Тем не менее, проект USVN выглядит немного устаревшим. USVN был проектом, выполненным студентами в университете, и теперь администраторы закончили обучение и ушли на поиски работы, и, возможно, у них больше не будет времени вносить свой вклад в проект. За 9 месяцев не было обновлений, средство отслеживания ошибок не выглядит активным, а форумы заполнены спамом и выглядят немного неконтролируемыми , поэтому, возможно, сообщество менее активно, чем кажется на первый взгляд . Это не так уж и плохо, и я надеюсь, что эти люди преуспеют, но я бы побеспокоился о подключении к устаревшему проекту.
В проекте используется 200 файлов (не считая файлов 2000 от Zend), что может быть трудно для нас, чтобы проверить и поддерживать, и может быть более сложным, чем мы ищем. Кроме того, этот проект опирается на Zend, который страдает от политических проблем во FreeBSD .
источник
Еще одно предложение из списка рассылки svn dev от 09 декабря, так что это совсем недавно!
источник
Мы реализовали это с нашим новым svn-дистрибутивом год назад. Это сработало очень хорошо.
У нас есть несколько команд разработчиков, и они свои проекты. Итак, мы перенесли всю информацию в LDAP и предоставили менеджерам команд доступ на запись в дерево информации каталога (DIT) для подрывной деятельности:
ou = groups, ou = subversion, ou = apps, dc = пример, dc = com ou = репозитории, ou = subversion, ou = apps, dc = пример, dc = com
Вышеуказанная организационная единица «группы» - это настраиваемые группы для хранилищ / проектов Subversion. Также мы используем 'viewvc' с https для просмотра репозиториев в SVN.
Сервер apache использует файл ACL, созданный на основе LDAP DIT (см. Выше), чтобы предоставить доступ для чтения и записи различным пользователям и группам. Существует cron, который читает LDAP DIT каждые пять минут и создает файл ACL. Таким образом, если есть новые репозитории, добавленные только для чтения и чтения / записи пользователей / группы. Хрон прочитает это и создаст репозитории, и включит эту информацию в файл ACL для вновь созданного репозитория. Это довольно опрятно. Вам необходимо создать схему LDAP на основе ваших требований, очевидно. У нас есть вся информация о пользователях и хостах в LDAP, поэтому было не сложно добавить ее в svn info.
-F
источник
Кажется, со временем все изменилось. Вот еще один скрипт, который мне кажется хорошим вариантом для управления svn: http://www.svn-access-manager.org/
источник