Току-що направих ново хранилище. Моят сървър е 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
Цялото гугълване изглежда сочи към проблем с разрешенията, но не мога да разбера този.
mkdir /tmp/hello
и нищо не се случи - person chiliNUT   schedule 18.11.2013tail
, който би регистрирал неуспешните опити на действието за ангажиране да извика куката след извършване? - person chiliNUT   schedule 18.11.2013svn 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