2011-01-15 13 views
1

私は、プロジェクトのリポジトリ/バージョン管理システムとしてSubversion/svnを使用することを検討している状況があります。私はそれが可能かどうかを判断しようとしています(もしあれば、どうすれば)Subversionシステムを持つことができるか、コミット後のフック/プロセスでユーザー/ファイル/時間(そしてたぶんmsg)を外部ファイル(csv)またはmysql dbSubversion投稿コミットフック

出力をファイルに書き込むために投稿コミットフックを呼び出す方法を理解できたら、問題追跡ツール/プロジェクトアプリを変更して、ユーザーロールに基づいて基本的なワークフロープロセスを実装することができます。リポジトリファイルの成功/失敗

短いサンプル/ポインタが役立ちます。

私のテストenvは、centos5でsubversion/svnserveを実行しています。使用されているスクリプト言語はPhp/Pythonです。

答えて

0

私はそれは可能だと思いますが、ユーザー名、日付、コミットメッセージを取得するために少しの作業が必要になります。

Subversionは、repoパスと引数としてコミットされたばかりのリビジョン数を使ってpost-commitフックを呼び出します。

探している情報を取得するには、Subversionにバンドルされているsvnlookという名前の実行可能ファイルを使用する必要があります。

はそれが

また、svnlook helpを見てみましょう使用方法については、むしろ明確な説明のためにレポ\フック\ポストcommit.tmplを参照してください、それは使用することは困難ではありません。

0

確かにあなたのリポジトリのルートにはhooksという名前のフォルダがあります。その中にはpost-commitという名前のファイルがあります(作成していない場合は作成します)、そこに置くbashコードを追加します。すべてのコミット後に実行します。

スクリプトに渡される変数は2つあります。$ 1はリポジトリ、$ 2はリビジョン番号です(私は思う)。これらの2つの変数を使用していくつかのsvnコマンド/クエリを実行し、必要なデータを収集し、あなたの心が望むものなら何でもしてください。