2014-01-31 8 views
0

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

после совершения крюка:

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

Спасибо!

+1

Обновление рабочей копии не должно быть автоматизировано. Рассмотрим, что должен делать код в случае конфликтов слияния. Правильный способ - отправить уведомление всем, кто заинтересован в немедленных обновлениях, чтобы они могли делать обновления, когда они были готовы. – Dialecticus

+0

@Dialecticus Я думаю, он хочет обновить WC с помощью веб-сайта или что-то вроде этого (например, для тестирования). – bahrep

+1

@bahrep это еще хуже. SVN не предназначен для использования в качестве инструмента развертывания. Вместо этого используйте подходящее средство развертывания. – Dialecticus

ответ

0

Не нужно использовать call здесь. Убери это!

Использование

"C:\batch\_something_.cmd" 
"<path-to-svn.exe>" update D:\path\to\local\project 
exit 0 
+0

Я пробовал и, к сожалению, это НЕ является источником моей проблемы. В любом случае, спасибо! – Mihai238

+0

КПП. Вам нужен CALL для файла .bat или .cmd, иначе он не вернется – jeb

0

Goto VisualSVN сервер -> выберите хранилище -> свойства-> Крючки -> После фиксации крюк

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

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