Subversion post-commit hook няма да се изпълнява при комит, скриптът работи, защото мога да го стартирам от командния ред

Току-що направих ново хранилище. Моят сървър е Ubuntu 12.04 32 бита. Искам ангажиментите ми да бъдат активни веднага щом ги ангажирам. Това се постига чрез създаване на работно копие в моята публична html директория и актуализиране на куката след ангажиране на това работно копие. Настроих го, като използвах инструкциите тук:

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

Проблемът е, че моят post-commit няма да се изпълнява, когато моят проект се ангажира. Проектът ми се ангажира добре. Знам, че скриптът също е валиден, защото мога да го стартирам с

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

Но пак нищо. Моите ангажименти са успешни, но куката никога не се изпълнява. Моят hook скрипт изглежда така:

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

Цялото гугълване изглежда сочи към проблем с разрешенията, но не мога да разбера този.


person chiliNUT    schedule 18.11.2013    source източник
comment
Не, съжалявам, че не го изясних много добре във въпроса. Проектът се ангажира добре, мога да го ангажирам, след това да изпълня моя post-commit в конзолата ръчно и той работи според очакванията   -  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
Изброихте вашите chowns, но какво ще кажете за вашите режими? (по-специално, пост-комитите имат ли зададен подходящ режим на 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, изцяло с малки букви, а не post-commit.tmpl.

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