Назад | Перейти на главную страницу

Хук пост-фиксации Subversion с несколькими проверками?

Название должно звучать странно, но я пытаюсь добиться следующего:

Расположение репозитория SVN: / home / flx / svn / flxdev Структура репозитория SVN "flxdev":

 + Project1
 ++ files
 + Project2
 + Project3
 + Project4

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

Документ после фиксации явно перечисляет следующее:

# POST-COMMIT HOOK
#
# The post-commit hook is invoked after a commit.  Subversion runs
# this hook by invoking a program (script, executable, binary, etc.)
# named 'post-commit' (for which this file is a template) with the
# following ordered arguments:
#
#   [1] REPOS-PATH   (the path to this repository)
#   [2] REV          (the number of the revision just committed)

Поэтому я сделал следующую команду для проверки:

REPOS="$1"
REV="$2"
echo "Updated project $REPOS to $REV"

Однако, когда я редактирую файлы, например, в Project1, это выводит "Обновлен project / home / flx / svn / flxdev до 1016"

Я бы хотел, чтобы это было: «Обновлен проект Project1 до 1016»

Наличие этой переменной позволяет мне указывать различные действия для каждого проекта после фиксации. Как я могу указать параметр проекта?

Спасибо!

Деннис

Использовать svnlook.

Быстро и грязно было бы попробовать что-нибудь вроде:

REPOS="$1"
REV="$2"
CHANGED_DIRS="`/usr/bin/svnlook -r $REV dirs-changed $REPOS`"

echo "Updated paths $CHANGED_DIRS in revision $REV"

Вы можете попробовать запустить svnlook help; он перечислит различные команды, которые вы можете использовать / информацию, которую вы можете получить.