1

プロジェクトのリポジトリ/バージョン管理システムとしてsubversion/svnを使用することを検討している状況があります。私は、コミット後のフック/プロセスで、ユーザー/ファイル/時間(そしておそらくmsg)をどちらかに書き込むことが可能かどうか(もしそうなら、どのように)サブバージョンシステムを持つことができるかを理解しようとしています外部ファイル(csv)またはmysqldbへ。

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

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

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

4

2 に答える 2

0

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

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

于 2011-01-15T20:32:07.153 に答える
0

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

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

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

使用方法の明確な説明については、repo \ hooks\post-commit.tmplを参照してください。

また、見てくださいsvnlook help、それは使用するのは難しくありません。

于 2011-01-15T20:34:37.780 に答える