Доброго времени суток.
Имею Debian lenny на котором стоит apache и svn
юзера коммитят в svn код через авторизацию ssh (т.е. каждый юзер заведён в системе).Необходимо что бы после каждого коммита код автоматом обновлялся в директории апача (/var/www)
Вариант 1:
Как примерный человек я беру post-commit.tmpl хук и переименовываю его в post-commit а в него пишу
svn update /var/www/workingcopy
запускаю скрипт из под юзера который может коммитить и вижу что всё шоколадно.
коммичу из свн клиента (из винды) и ничего не работает.
добавляю такие строки:
echo $USER > /var/www/comm.log
После коммита вижу что файл создался но пустой. при этом вижу что владелец файла, как и полагается, мой user которым я коммитил.
Вариант 2, извращенский:
пишу скрипт на пхп который создаёт лок файл /var/www/commit.lck
добавляю в кронтаб для root скрипт (post-commit)
кронтаб его должен дёргать каждую минуту.
и он его дёргает. смело утверждает что с лок-файлом расправился но код так и не обновился.
пробую строку из кронтаба запустить рутом - всё работает.
добавляю в скрипт кроме echo $USER ещё echo $PATH и вижу что PATH=/usr/bin:/bin
а вот USER - ничего. пусто. просто пустая строка...
Собсно вопросы:
как и почему у меня echo $USER показывает пустоту (хотя из консоли команда показывает текущего юзера) и почему мой скрипт не отрабатывает как надо ни кроном ни хуком а из-под юзера работает?
я уже в растерянности и на часах час ночи.. :(