1

私のチームはソフトウェアプラットフォームにSVNを使用しており、モジュールのバージョンをまっすぐに保つために定期的にタグを作成しています。私が理解しているように、ベストプラクティスは、タグが作成された後は変更しないことです。ただし、誘惑が大きすぎて、タグの1つに変更が加えられることがあるようです。

これらの種類のチェックインを防ぐ方法はありますか、または少なくともそれらを完全に苦痛にして、自動的にそれらを思いとどまらせることができるようにする方法はありますか?

ありがとう、ジョー

4

2 に答える 2

7

タグがすでに存在する場合にコミットを拒否するpre-commitフックを作成します。フックの実装の詳細については、こちらをご覧ください(「リポジトリフックの実装」セクションを参照)。

http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html

于 2010-04-13T03:26:06.700 に答える
2

非技術的な問題の技術的な解決策を見つけようとしていると思います。これらのチェックインを処理する方法を理解する前に、これらのチェックインが行われる理由を特定する必要があります。チームのリーダーシップの承認を得て作成された場合、将来の発生を妨げるようなプロセスはありません。一方、これらのチェックインが、彼らがよく知っていると思った個々のチームメンバーによって行われる場合、不正な開発者の問題を解決するためにリーダーシップを発揮することができます。

タグが作成された後、チーム全体が何を期待するかを明確にした後でのみ、技術的なソリューション(必要な場合)を使用してこれらの期待を実行できます。

チェックインを防ぐ方法については、パスベースの認証を介してすべてのユーザーのセキュリティを読み取り専用に設定するタグを作成すると、最も簡単な解決策になると思います。ただし、SVN Bookの作成者は、パスベースの認証について次のことも明示的に述べていることに注意してください。

ただし、この機能に関連するコストは目に見えない(そして目に見える!)ことが多いことに注意してください。表示カテゴリでは、サーバーは、ユーザーが特定の各パスを読み書きする権利を確実に持つようにするために、さらに多くの作業を行う必要があります。特定の状況では、非常に顕著なパフォーマンスの低下があります。目に見えないカテゴリでは、作成している文化を考慮してください。ほとんどの場合、特定のユーザーがリポジトリの特定の部分に変更をコミットするべきではありませんが、その社会契約は技術的に強制される必要はありません。

于 2010-04-13T03:37:35.940 に答える