Subversion Post фиксирует хуки - PullRequest
1 голос
/ 15 января 2011

У меня есть ситуация, когда я собираюсь использовать Subversion / SVN в качестве системы управления репозиторием / версией для проекта. Я пытаюсь выяснить, возможно ли (и если да, то каким образом) иметь возможность использовать систему subversion, в обработчике / процессе post commit для записи пользователя / файла / времени (и, возможно, сообщения) в любой внешний файл (CSV) или MySQL DB.

Как только я смогу понять, как вызывать ловушку post commit для записи вывода в файл, я могу затем изменить свое приложение для отслеживания проблем / приложение проекта, чтобы затем реализовать базовый процесс рабочего процесса на основе роли пользователя, а также успех / неудача файлов репозитория.

Краткие образцы / указатели были бы полезны.

Мой тестовый env запускает subversion / svnserve на centos5. Используемые скриптовые языки: Php / Python.

Ответы [ 2 ]

0 голосов
/ 15 января 2011

Я бы сказал, что это возможно, но вам понадобится немного работы, чтобы получить имя пользователя, дату и сообщение о коммите.

Subversion вызывает хук после фиксации с путем репо и числомревизия, которая была передана в качестве аргументов.

Чтобы получить искомую информацию, вам потребуется использовать исполняемый файл с именем svnlook, который входит в состав Subversion.

См. Repo \ hooks \ post-commit.tmpl для довольно ясного объяснения того, как его использовать

Кроме того, взгляните на svnlook help, это не сложно использовать.

0 голосов
/ 15 января 2011

Действительно, это очень возможно, в корне вашего хранилища должна быть папка с именем hooks, внутри которой должен быть файл с именем post-commit (если нет, создайте его), добавьте туда любой код bash, который вы там поместите, и он выполнитсяпосле каждого коммита.

Обратите внимание, что в скрипт передаются 2 переменные, $ 1 - это хранилище, а $ 2 - это номер редакции (я думаю), вы можете использовать эти две переменные для выполнения некоторых команд svn /запросы, извлеките необходимые данные и делайте с ними все, что душе угодно.

...