Я пытаюсь заставить Subversion автоматически развертывать текущую рабочую копию после коммита.
Например, если кто-то проверяет репозиторий public_html и затем вносит изменения, мне нужно, чтобы SVN автоматически запускал svn update / path / to / public_html / на сервере, на котором запущен svn.
Я установил хук после фиксации, который вызывает:
/ usr / bin / svn update / path / to / public_html /
Я гарантирую, что ловушка после фиксации является исполняемой, и если я вручную запускаю скрипт через SSH, он запускается правильно и обновляет / path / to / public_html / dir, поэтому мы знаем, что скрипт после фиксации работает нормально.
Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я фиксирую, я получаю эту ошибку:
Transmitting file data .svn: Commit failed (details follow):
svn: MERGE of '/svn/public_html': 200 OK (http://ourdomain.com)
Дело в том, что SVN лежит сквозь зубы: фиксация на самом деле НЕ завершается неудачей - если я вручную обновляю dir (или запускаю скрипт post-commit) вручную, обновление завершается, и изменения отражаются на сервере.
Итак, кто-нибудь знает, почему мой хук после коммита не работает?
Я видел немало постов на эту тему, но ни у одного, похоже, нет никаких решений, кроме как "попробуйте запустить скрипт post-commit вручную", который я пробовал, и он отлично работает .. Так что post-commit Сценарий не проблема, похоже, проблема с самим SVN.
Любая помощь будет принята с благодарностью !!