Подтвердить что ты не робот

Как отобразить список репозиториев с сервера subversion

Я ищу способ поиска всего сервера subversion.

У меня уже есть кусочек головоломки для поиска в репозитории. Теперь мне нужно сделать это для каждого репозитория.

Обновление:

Мне нужно получить доступ к этому списку из некоторой оболочки unix script (perl, bash и т.д.)

4b9b3361

Ответ 1

Я также искал список репозиториев в SVN. Я сделал что-то вроде этого в командной строке:

~$ svn list https://www.repo.rr.com/svn/main/team/gaurav

Test/
Test2/
Test3/
Test4/
Test5/
Test6/

Ответ 2

Если вы включите svn через apache и директиву SVNParentPath, вы можете добавить директиву SVNListParentPath On в ваше местоположение svn, чтобы получить список всех репозиториев.

Ваш apache conf должен выглядеть примерно так:

<Location /svn>
  DAV svn
  SVNParentPath         "/net/svn/repositories"
  # optional auth stuff     

  SVNListParentPath On    #  <--- Add this line to enable listing of all repos
</Location>

Ответ 3

Не ваш доступ к SVN работает так же, как веб-сервис? Когда я попадаю в верхнюю директорию моего SVN-сервера, я получаю страницу, которая, по существу, представляет собой содержание всех работ. Это неупорядоченный список, который я могу просто просканировать.

РЕДАКТИРОВАТЬ: Здесь, как бы я сделал это из командной строки:

wget http://user:[email protected]/ -O - | grep \<li\>

Ответ 4

Иногда вам может потребоваться проверить временную метку для того, когда было обновлено репо, для получения этой удобной информации вы можете использовать опцию svn -v (verbose), как в

svn list -v svn://123.123.123.123/svn/repo/path

Ответ 5

Если ваш сервер Apache, вы должны иметь возможность настроить его, чтобы увидеть список репозитория с viewvc - это самый простой, другой существуют сложные интерфейсы, но это не ваша цель здесь.

В некоторых версиях ViewVC является вариантом стандартной установки теперь, например, из Collabnet.

Изменить. Никогда не упоминайте мою предыдущую идею выше, Peter имеет гораздо более простой способ отправки списка репозиториев.

Оттуда вам нужно:

  • получить HTML-страницу,
  • извлеките список и
  • обрабатывать его для отдельного поиска репозитория.

К сожалению, в этом случае я не могу придумать что-то более прямолинейное.

Есть примеры на SO о том, как извлечь текст из HTML-страниц в Python, это было бы хорошим вариантом, поскольку Python также имеет привязки для SVN, чтобы выполнить поиск репозитория - вы все равно можете вызвать svn непосредственно из Python, если хотите.

Если Python не является вашей чашкой чая, вам придется обрабатывать это по-разному с помощью инструментов GNU (wget, затем инструменты синтаксического анализа или существующие пакеты), я не могу им помочь, Carl дал вам более подробную информацию в этом посте).

Ответ 6

Если вы знаете свой путь вокруг Java, вы можете использовать SvnKit, чтобы просматривать, искать и знать, что с вашего сервера Subversion.

После этого вы можете упаковать свою программу и вызвать ее либо с помощью задачи Ant, либо оболочки script.

Это довольно "грубая сила", но как только вы овладеете SvnKit, вы действительно можете сделать много классных вещей.

Ответ 7

В моей компании они не настроили сервер для предоставления списка репозиториев, поэтому svn list работал для определенного репозитория, но не на более высоком уровне, чтобы перечислять все репозитории.

Однако они установили FishEye, который предоставляет вам графический интерфейс, в котором перечислены хранилища https://www.atlassian.com/software/fisheye

Это платный вариант, поэтому он не для всех, но функциональность хороша.