subversionの使い方がまだよく分かっていないのですが、web開発でsvnを利用する場合、問題なく変更をcommitできた時点で自動的に作業ディレクトリから公開ディレクトリにソースをアップロードする、というようなことはできるのでしょうか?
まだ精通しておりませんので、分かりやすくご説明して頂けると有り難いです。
Subversionは処理の要所要所でフックといって割り込み処理をはさむことができます。
これらはスクリプトで与えられており、各リポジトリの中にあるhooksというディレクトリに、そのテンプレートファイルがあります。
コミット後に処理をはさむときは、post-commit.tmplというテンプレートがあるので、
これをpost-commitとリネームし、実行権限を与えれば、この中に書かれたスクリプトが実行されます。
ですからこの中に、cpなりrsyncでのバックアップ処理を書けばよいかと。
fook を使えば出来ます。post-commit に手を入れればよいです。
ただ、実行されるのはプログラムなので、多少のプログラムはかけないとしんどいです。
一応サンプルスクリプトは付属していますが。
どうもありがとうございます!
やってみます!
subversionのサーバーにはsvnプロトコルだけではなく、Apacheを介してWebDAVプロトコルを採用する事もできます。権限を適切に設定すれば、認証されているユーザーはコミットができるけれど、認証されていないユーザーは見るだけという設定をすることもできます。
設定に関してはApacheとsubversionで検索してみるといいと思います。
ただ、コミットをするだけで公開できる仕組み自体、あまりお勧めしません。理由は間違ってコミットすることもたくさんあるからです。サーバーにコミットした結果を認証されているユーザだけが確認できるようにし、問題がなければ本番へあげるようなスクリプトを用意したほうがいいのではないでしょうか。
参考になる情報をどうもありがとうございます。
頂いたキーワードで調査してみようかと思います。
丁寧なご説明をどうもありがとうございます。
完璧に理解できました。
貴重な情報をどうもありがとうございます!