あなたは、バグやブレークビルドを導入するコミットからどのようにソースコードリポジトリを保護しようとしましたか?コミット時に強制的に回帰テストを行うと、複数の開発者が作業しているプロジェクトにバグが侵入するのを防ぐことができます。しかし、最も一般的なコードバージョン管理ツールでは、この領域には機能がありません。コード・リポジトリを中断またはバグ・コミットから保護する方法はありますか?
これは私が実験した1つの方法です。保留中のコミットの変更がマージされたプロジェクトのコピーを生成するSubversionプリコミットフックを作成した後、このコピーに対して構文チェックと単体テストを実行しました。いずれかのテストが失敗した場合、コミットは、構文チェッカーまたは単体テストの結果で拒否され、開発者にそのコミットをフィードバックします。構文チェッカーとユニットテストが合格した場合、コミットは受け入れられます。それはうまくいったが、トレードオフはコミットが本当に遅くなったということだった。コードバージョン管理ソフトウェアが、より良い統合を提供して、外部コミット時に外部プログラムを実行するのではなく、これを容易にするなら、スピードを向上させることができると思います。
これを達成するために使用した方法、これが良いか悪い考えかの考え、回帰テストのサポートを提供するコードバージョン管理ツールの経験/コードチェックインのテストのビルドを探しています。また、コミットのスピードはどれくらい重要ですか?
この回答に追加するには、コードの実際のバージョンが破損しないように、潜在的な変更を保護するために何らかの形の分岐を使用する必要があります。そうすれば、主なブランチやソースにコードを公開することなく、バージョンコントロールのメリットを引き続き利用できます。 –
+1、CIツールを使用すると、通常、ビルドが壊れたときに開発者に(電子メールなどで)通知することができ、壊れたビルドを素早く修正できます。 –