2012-02-22 9 views
1

複数の機能が同時にテストされ、少なくとも1つがサインオフされていない場合ステークホルダーから私は、SCMの運用と再テストの観点から最小限の努力で生産に押し出された変更を承認したいと思っています。複数の変更の1つがサインオフされていない場合の分岐/マージ戦略

私はCVSを使用しています(これを変更することはできません)が、問題はある程度はSCM技術に依存していません。

いつでも共通のベースライン上に複数の機能が開発されているとします。彼らはすべて自分の支店で孤立して働いています。いくつかの段階で、ビルドがプッシュされて、トランクからのテストが完了し、テストされ、マージされたバックツンドの変更がすべて含まれています。合計5つのブランチがマージされ、1つがテストに合格していないか、何らかの理由でビジネスがサインオフしていないとしましょう。

'unmerge'操作のような銀色の弾丸があったら、それは完璧ですが、私が知る限り、そこにはありません。

私の他のアイデアは、すべての変更をトランクにマージするのではなく、別のブランチにトランクをフォークし、そのブランチからビルドをテストサーバーにプッシュすることです。何らかの理由で何らかの変更が取り下げられた場合、新しいブランチをトランクから外して、取り消した変更以外のすべてをマージする必要があります。すべての変更が受け入れられると、この一時ブランチはトランクにマージされます。

これは過度ではないかと思いますが

他のアイデアはありますか?

答えて

0

尋ねられたようにこれは実際にあなたの質問に答えるわけではありませんが、機能トグルと「抽象化による分岐」のコンセプトについては、継続配信で説明します。これらは、メインライン/トランクの反復開発を可能にするコアコンセプトの2つです。

+0

これは非常に参考になります。ありがとう!問題は、私たちが扱っているプロジェクトのほとんどがWebアプリケーションであり、多くの機能/作業要求がマークアップの変更を伴うことです。私は、マークアップ/ css/jsなどの抽象レイヤーを作成する方法については考えていません。 – artur

+0

artur、代わりに、設定値に対してテストする醜いTEMPORARY "if"文の形の "機能スイッチ"があります。私を信じて、私はこの音がどうして醜いか知っています。鍵は、それを一時的な尺度として認識し、これらの脆弱性をできるだけ早くコードベースに取り除くことです。 –

関連する問題