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