2012-01-03 27 views
0

私はクライアント側から新しい行が追加され、コミットされたときに、私が指定したファイルに新しく追加された行をプリントするポストコミットフックスクリプトを持っています(変更を識別するsvnlookのdiffコマンドを使用して)...私は、クライアント側のファイルの各変更された領域に "HELLO"と言う行を追加したい場合どのように投稿コミットフックスクリプトを書く必要があります....ありがとうあなたは事前に変更された領域にテキストを追加するポストコミットフックスクリプト

答えて

0

フックを使用してリビジョンを変更する必要があります。 Subversion bookから:フックスクリプトはほとんど何もすることができますが

、フックスクリプトの作成者は拘束を表示するべき一つの次元がある:フックスクリプトを使用してトランザクションをコミット変更しないでください。フックスクリプトを使用して、コミットされているファイルに存在するエラー、欠点、またはポリシー違反を自動的に訂正することは有益ですが、そうすることで問題が発生する可能性があります。 Subversionは、クライアント側のキャッシュにリポジトリデータの特定のビットを保持します。このようにコミットトランザクションを変更すると、これらのキャッシュは検出不能に失効します。この不一致は、驚くべき予期しない動作につながる可能性があります。トランザクションを変更する代わりに、トランザクションをプリコミットフックで検証し、必要な要件を満たしていない場合はコミットを拒否するだけです。ボーナスとして、ユーザーは慎重でコンプライアンスに配慮した仕事の習慣の価値を学ぶでしょう。

https://stackoverflow.com/a/1763257/387981

関連する問題