■commit-rss.plとは commit-rss.plは、Subversionリポジトリに対するcommit内容をRSS形式で出力するPerlス クリプトです。Subversionのpost-commitフックスクリプトから呼び出して使用します。 ActivePerl 5.8.6と5.8.7で動作することを確認しています。 ※UNIX系(linuxとか)はiconvやsvnのバージョンやコンパイルに依存するので commit-rss.pl内の コメント(71行辺り)を切り替えて使用できる用にしています。 ■インストール(WIN32の場合) (1) ファイルコピー 以下のファイル及びディレクトリをどこかのディレクトリ(例 C:\bin)に コピーする。 commit-rss.pl SVN SVN\SVNLook.pm (2) 必須モジュールのインストール 以下のPerlモジュールをインストールする XML::RSS (3) フックスクリプト設定 リポジトリのhooksディレクトリに、以下のようなpost-commit.batファイルを作成しま す。なお、(1)でC:\binにコピーした場合を想定しています。 ----- C: cd \bin rem 文字コードを固定 set LANG=C Perl commit-rss.pl %1 %2 "タイトル" "リポジトリURL" 履歴数 "RSS出力パス" ----- ・タイトルは、RSS形式のファイルのchannel/title要素に格納されますので、お好きな 名前を設定して下さい。 (例 sandboxリポジトリ) ・リポジトリURLは、リポジトリのトップURLを設定して下さい。 (例 http://www.sutosoft.com/svn/sandbox/) 最後に必ず"/"を含めて下さい。HTTP以外の方法でアクセスするリポジトリの場合の設 定は分かりません。 ・履歴数 出力する履歴の数を設定します。 例えば1の場合、最新のリビジョンの情報のみを出力します。 例えば5の場合、最新から5つまでリビジョンを遡って情報を出力します。 1以上の任意の値を設定できますが、大きくすると出力ファイルが大きくなるので注意 して下さい。 ・RSS出力パスは、RSSを出力するローカルパスを設定して下さい。 (例 C:\www\public\sandbox.rdf) 以上でインストールは完了です。 ■使い方 上記の通りインストールを行ったリポジトリに何かファイルをcommitすると、RSS形式の ファイルがRSS出力パスに生成されます。 ------------ サンプルバッチ[test.bat] -------------- @echo off c: cd \Inetpub\rss set LANG=C set rss_title="public レポジトリ" set rss_refs=10 set rss_file=C:\Inetpub\rss\svn-rss\pubs.rdf set repos_url=https://hogehoge.mydns.to/svn/pubs/ set repos_dir=C:\Inetpub\svn\pubs\repos\ set repos_rev=1 perl commit-rss.pl %repos_dir% %repos_rev% %rss_title% %repos_url% %rss_refs% %rss_file% ------------ サンプルバッチ END ---------- ■動作確認 ・Vine Linux 2.6 + perl 5.6.1 + svn 1.2.1 (LANG=ja_JP.eucJP) ・Windows XP (sp2) + ActivePerl v5.8.7(build 813) + svn 1.2.1 (LANG=C) ■履歴 ・2005/08/25 diff Jcode で文字コードを統一 commit-rss.plの中で定義(def:utf-8)