Каков самый простой способ использовать хук после фиксации с VisualSVN Server для экспорта из репозитория в каталог для подготовки/тестирования после того, как разработчик зафиксирует свои изменения?
Использование хука после фиксации для экспорта в VisualSVN Server
Ответы (4)
Выполните следующие действия в консоли MMC VisualSVN Server Manager:
Выберите свой репозиторий.
Щелкните правой кнопкой мыши Свойства.
Выберите вкладку Hooks.
Выберите перехватчик после фиксации.
Нажмите кнопку Изменить. Введите такую строку в текстовое поле:
"%VISUALSVN_SERVER%bin\svn.exe" export https://svn.yourserver.com:4433/svn/YourRepository/Websites/YourWebsite/ C:\inetpub\wwwroot\YourWebsite --quiet --non-interactive --force --username <youruser> --password <yourpassword>
Нажмите ОК.
Найдите каталог установки сервера SVN (у меня
C:\Program Files\VisualSVN Server\bin
).Поместите туда исполняемый или пакетный файл, который делает все, что вы хотите, и установите хук post-commit примерно так:
postcommit.exe "%1" "%2"
Если вы устанавливаете клиент командной строки svn, вы можете написать простую перехватчик после фиксации скрипт такой:
path\to\svn.exe export file:///%1/trunk path\to\where\you\want\to\export\to
Я не уверен, создает ли диалоговое окно фиксации VisualSVN Server файл .bat
/.cmd
или просто ожидает запуска команды. Если первое, строки выше будет достаточно. Если последнее, сначала создайте файл .bat
с указанной выше строкой, а затем введите в диалоговое окно:
cmd.exe /C path\to\your\batfile
Почитаю об интеграции круиз-контроля с Subversion — впервые я об этом услышал, хотя мне очень не хочется добавлять в микс еще одну переменную.
Перед публикацией вопроса просмотрел ссылку VisualSVN, но она не объясняет, как что-либо делать с VisualSVNServerHooks.exe, кроме уведомления по электронной почте. Не могу не задаться вопросом, является ли это единственной функцией, которую поддерживает VisualSVNServerHooks.exe, поскольку я не смог найти документацию о каких-либо других функциях на их сайте, в документах, группах Google, поиске Google и т. д.
Спасибо за публикацию.