Доброго времени суток.
Имею 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 показывает пустоту (хотя из консоли команда показывает текущего юзера) и почему мой скрипт не отрабатывает как надо ни кроном ни хуком а из-под юзера работает?
я уже в растерянности и на часах час ночи.. :(
а чем mod_dav_svn не устроил?
> а чем mod_dav_svn не устроил?а им всё равно ssh доступ надо. так зачем лишнее пихать?
>> а чем mod_dav_svn не устроил?
> а им всё равно ssh доступ надо. так зачем лишнее пихать?man pam_env, man sshd_config
на предмет
AcceptEnv UsePAM и моного другого