Subversion post-commit не вызывается - PullRequest
0 голосов
/ 06 декабря 2011

Я пытался выполнить пост-коммит, чтобы обновлять свой сайт при каждом коммите.в / hooks / post-commit

я сделал как следует

/svnUupdat/cProgrammeThatUpdate >> /log/test.log

Хорошо, теперь, если я попробую, что

env - ./post-commit

, это работает, веб-сайт получит обновление допоследняя ревизия (а в журнале что-то есть)

но если я фиксирую, post-commit не вызывается ??(ничего в журнале и на сайте не обновляется)

Обратите внимание, что если я добавлю только пост-коммит

/bin/echo "post-commit run" >> /log/test.log

Если что-то зафиксировать ... это работает .. тамчто-то в журнале .. Почему тогда не вызывается моя c-программа?

EDIT Я попробовал что-то еще, чтобы вместо вызова программы ac

/usr/bin/svn update /var/www/vhost/xx.com/site1/ >> /var/log/svn/example.log

inжурнал, который я пропустил /var/www...

Почему он пропущен?если я запускаю обновление svn в терминале, оно работает, рабочий каталог получает последнюю ревизию

спасибо

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

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

1 голос
/ 06 декабря 2011

Пропущенное сообщение указывает, что Subversion не может обновить каталог, потому что это не рабочая копия.Однако это противоречит вашему утверждению, что вы можете обновить каталог вручную.Может быть, где-то на вашем пути есть опечатка?

Вы также должны знать, что скрипт post-commit выполняется как пользователь, выполняющий коммит.Это может быть, а может и не быть тем же пользователем, который вы используете при использовании терминала.Вы должны проверить, есть ли у пользователя фиксации надлежащие привилегии для выполнения сценария пост-фиксации и есть ли у этого пользователя разрешения делать то, что делает ваш скрипт.

...