Хук Subversion после фиксации не будет запускаться при фиксации, скрипт работает, потому что я могу запустить его из командной строки

Я только что создал новый репозиторий. Мой сервер - 32-разрядная версия Ubuntu 12.04. Я хочу, чтобы мои коммиты действовали, как только я их совершил. Это достигается созданием рабочей копии в моем общедоступном html-каталоге и обновлением этой рабочей копии после фиксации. Я установил это, используя инструкции здесь:

http://www.frenssen.be/content/using-subversion-automatically-update-live-website

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

env ./post-commit

внутри каталога hooks, и он правильно обновляется.

Я подумал, что это может быть проблема с разрешениями, поэтому я широко использовал chown, чтобы убедиться, что www-data является владельцем:

the repo /home/svn/repo2
the working copy /var/www/html
the hook /home/svn/repo2/hooks/post-commit
the update binary /home/svn/autoupdate/autoupdate

Но все равно ничего. Мои коммиты проходят успешно, но ловушка никогда не запускается. Мой скрипт перехвата выглядит так:

#!/bin/sh
/home/svn/autoupdate/autoupdate

Кажется, весь поиск в Google указывает на проблему с разрешениями, но я не могу понять этого.


person chiliNUT    schedule 18.11.2013    source источник
comment
Нет, извините, я не очень хорошо разъяснил это в вопросе. Проект фиксируется нормально, я могу его зафиксировать, а затем запустить пост-фиксацию в консоли вручную, и он работает должным образом.   -  person chiliNUT    schedule 18.11.2013
comment
Если вы добавите в ловушку еще одну строчку кода (перед автообновлением) ... это сработает? (пытаюсь написать в / tmp или что-то в этом роде)   -  person Lynn Crumbling    schedule 18.11.2013
comment
я вставил mkdir /tmp/hello и ничего не произошло   -  person chiliNUT    schedule 18.11.2013
comment
Вы перечислили свои блюда, но как насчет ваших режимов? (в частности, установлен ли для пост-коммитов соответствующий режим eXecute?)   -  person Lynn Crumbling    schedule 18.11.2013
comment
Я пробовал 744, 755 и 777, у всех одинаковый результат   -  person chiliNUT    schedule 18.11.2013
comment
Знаете ли вы, что, возможно, я мог бы tail журнал ошибок регистрировать неудачные попытки действия фиксации для вызова ловушки после фиксации?   -  person chiliNUT    schedule 18.11.2013
comment
Это работает! Поигравшись со всем, я думаю, что проблема заключалась в том, что мой вызов svn update запрашивал пароль, который post-commit, конечно, не мог предоставить, поэтому я жестко запрограммировал информацию для входа в сценарий, и теперь все работающий. If your post-commit hook actually failed, I think you would see evidence of that in whatever client you were using to perform the checkin Это определенно помогло сузить круг виновников. Спасибо за ваше время!   -  person chiliNUT    schedule 20.11.2013
comment
Приятно слышать. Хорошая работа, изначально предоставившая хорошую рецензию. Я переместил свои соответствующие комментарии в ответ.   -  person Lynn Crumbling    schedule 20.11.2013


Ответы (1)


Можете ли вы повторить пример этого парня и посмотреть, работает ли он вообще?
mikewest.org/2006/06/subversion-post-commit- крючки-101

Получаете ли вы сообщение об ошибке при фиксации?

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

person Lynn Crumbling    schedule 20.11.2013
comment
Зная, что ошибочный сценарий нарушит фиксацию, я смог отследить тот факт, что сценарий был запущен, но не делал того, что я ожидал. Видя, что когда я запускал скрипт вручную, он запрашивал у меня учетные данные для репо, я мог собрать воедино, что пост-фиксация выполняется, но просто не предоставляет правильные учетные данные. Еще раз спасибо! - person chiliNUT; 20.11.2013