コミット後に私のウェブサイトを更新するポストコミットを試みました。Subversionポストコミットが呼び出されない
/svnUupdat/cProgrammeThatUpdate >> /log/test.log
私は
env - ./post-commit
は、それが動作することをしようとした場合[OK]を、今、ウェブサイトは最後のリビジョンにアップデートを取得する(とそこに続くよう/フック/コミット後
に私がやりましたログに何かがあります)
私はポストコミットがコミットされていない場合は??何か...それが動作をコミット..で何かがあれば、私は唯一のコミット後の
/bin/echo "post-commit run" >> /log/test.log
に置けばこと(ログには何もありませんし、サイトが更新されません)
注意なぜ私のCプログラムを呼び出さないのですか?
EDIT 私はその代わりに、C言語プログラムの開発Iはスキップの/ var/WWWを持っているログに
/usr/bin/svn update /var/www/vhost/xx.com/site1/ >> /var/log/svn/example.log
を呼び出すので、何か他のものを試してみました...
は、なぜそれがスキップされますか?私は、端末でのsvnアップデートを起動した場合には、作業ディレクトリを働く最後のリビジョンを取得
おかげ
こんにちは、実際に私のパスには(コミット後)のタイプミスがありました。コミット後にパスが正しいので、ログには何もないので、おそらく特権の問題です。コミットしているプロセスはhttpdで、その所有者はApacheです。私はすでにchownしていました。apache.apache post-commit自分の作業ディレクトリを同じにする必要がありますか? – Johny19
作業ディレクトリを更新する予定があるので、書き込み権限が必要です。 'su - apache'(またはあなたのhttpdユーザが何であれ)を試して、あなたのポストコミットスクリプトを実行してください。ただし、httpデーモンのアクセス権を変更するときに何をしているのかは、セキュリティに影響を与える可能性があるため、注意する必要があります。代わりにあなたのレポにアクセスするために 'svn + ssh'を使用することを考えましたか? –