Обновление SVN в хуке после фиксации

Я пытаюсь написать хук после фиксации для сервера VisualSVN в MSWindows, который сразу после фиксации обновляет проект сервера. На стороне сервера: когда я фиксирую ревизию, команда svn up не может быть выполнена в хуке. На стороне клиента я получаю сообщение Transmiting file data. и больше никаких сообщений.

хук после фиксации:

call C:\batch\_something_.cmd
call svn up D:\path\to\local\project       <--- it's freezing here

Спасибо!


person Mihai238    schedule 31.01.2014    source источник
comment
Обновление рабочей копии не должно быть автоматизировано. Подумайте, что должен делать код в случае конфликтов слияния. Правильный способ - отправить уведомление всем, кто заинтересован в немедленных обновлениях, чтобы они могли делать обновления, когда они будут готовы.   -  person Dialecticus    schedule 31.01.2014
comment
@Dialecticus Думаю, он хочет обновить WC с помощью веб-сайта или чего-то подобного (например, для тестирования).   -  person bahrep    schedule 31.01.2014
comment
@bahrep это еще хуже. SVN не предназначен для использования в качестве инструмента развертывания. Вместо этого используйте подходящий инструмент развертывания.   -  person Dialecticus    schedule 31.01.2014
comment
@Dialecticus Я могу частично согласиться, но он все еще работает для локального тестирования небольшого проекта.   -  person bahrep    schedule 31.01.2014


Ответы (2)


Здесь нет необходимости использовать call. Убери это!

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

"C:\batch\_something_.cmd"
"<path-to-svn.exe>" update D:\path\to\local\project
exit 0
person bahrep    schedule 31.01.2014
comment
Я пытался, и, к сожалению, это НЕ источник моей проблемы. В любом случае, спасибо! - person Mihai238; 31.01.2014
comment
Кстати. Вам нужен CALL для файла .bat или .cmd, иначе он не вернется - person jeb; 31.01.2014

Перейдите на сервер visualsvn -> выберите репозиторий -> свойства-> Хуки -> Хук после фиксации

pushd D:\path\to\local\project
svn update --trust-server-cert --non-interactive --username *** --password *** --no-auth-cache

Вы пытались выполнить его вручную и проверить, что произошло? Иногда это может быть связано с ошибкой сертификата клиента.

person Sweety Bertilla    schedule 20.02.2014