2

私のトランクには構造があります:

\trunk
----\data
----\src
----\tool

with \toolは、私のではなく、別の場所の外部にありtrunkます。\toolだから私はユーザーがSVNでコミットしたくない。\dataまたはにのみコミットでき\srcます。

誰かが私が外部(この場合は\toolフォルダ)にコミットするのを防ぐためのフックスクリプトを作成するのを手伝ってもらえますか?

4

1 に答える 1

2

私は外部にあまり詳しくありませんが、プリコミット フック スクリプトを作成したい場合、コードは非常に簡単ですが、デバッグするのは難しいです。

precommit フックは、$ARGV[0] = リポジトリ パス、$ARGV[1] = コミット中のトランザクションの 2 つのパラメータを受け取ります。

あなたのフックスクリプトは、次のようなsvnlookを使用します

svnlook dirs-changed -r $ARGV[0] -t $ARGV[1]

また、svnlook がツール (またはツールで始まるもの) が変更されたことを返した場合は、(負の?) 終了ステータスを返します。

STDERR に出力するものはすべて、エラー メッセージとしてクライアントに表示されます。

このスクリプトをリポジトリのフックの下に配置し、「pre-commit」という名前を付けて、実行可能にします。

ここで記憶をたどるので、 svnlook のドキュメントを確認してください。

于 2010-01-18T04:44:40.793 に答える