2012-04-11 10 views
0

私はSVNを使用する開発チームで働いています。私たちは常に安定した解放可能な胴を維持します。すべての開発はブランチで行われ、リリース準備が整ったらトランクにマージされます。トランクにマージされる前に何かを見たりテストしたりする必要があった場合、そのブランチ(機能ブランチと呼ばれることもある)を、他の開発者やプロジェクト管理者が見ることができる開発環境に配備することができます。これはほとんどの場合よく機能します。それがうまくいかないのは、同じリリースサイクルの一部であるが相互に必ずしも関連していない複数の異なるブランチがある場合です。これらのブランチは、すべて同じ期間中にトランクにマージされる前に承認される必要があります。私たちがやっていると考えていたのは、それらをすべて統合されたリリースブランチにマージすることでした。問題は、マージされたブランチの一部だけが解放のために承認されれば、私たちがトランクに行く前にそれらのブランチなしでマージをやり直す必要があるということです。基本的には、devまたはfeatureブランチに1回、次に承認されたブランチとリリース可能なブランチをトランクにマージするために2回目にマージを2回実行する必要があります。SVN開発プラクティス - ブランチからブランクへの分岐方法

これを行うには良い方法がありますか?個々のブランチからフィーチャーブランチにマージした後で、後でそれらのブランチを再びトランクにマージすると、問題に遭遇するような気がします。それを考えるのは正しいのですか、これは問題ではありませんか?

答えて

0

これは何ですか?Tagsはありますか?

個々の機能の作業中に分岐します。それらをすべてテストのためにトランクに統合します。テストが完了すると、バグが修正され、リリース準備が整ったので、トランクにタグを付けます。次に、リリースごとにタグがあります。

私はトランクに解放可能なコードしか持たないということを本当に理解していません。確かに、あなたが二重否定を許したならば、トランクに決してコードがないことは決して不可能です。

+0

私たちは現在の戦術ではなく、最後の安定版にタグを利用することができますが、どちらも有効です。私が今持っている問題については、どちらもうまくやっていないでしょう。私たちがスタンダードとしてトランクにコミットしたとしても、リリースの予定があるまではブランチをトランクにコミットしたくないという方がいます。たとえば、ブランチAとブランチBがトランクにマージされているが、ブランチBの起動が承認されていない場合は、トランクからブランチBマージを逆にしてブランチAをライブにする必要があります。 – natealvar

1

アフィリエイトの提案に続いて、ステップをさらに進め、トランクからリリースブランチを作成してから、それぞれの個人用にpatch releaseというタグを付けることができます。

この方法では、すべてのライブ欠陥をリリースブランチ上でトランクから分離して修正できます(これらの修正はトランクにマージされる必要があります)。この分離により、クライアントはソフトウェアの最新バージョンにアップグレードせずに不具合を修正することができます。これにより、「フル」アップグレードに関連する潜在的なテスト時間から救うことができます。

+0

これは私たちが今行っているのと似ています。私たちはクライアントにコードをリリースせず、ライブWebアプリケーションにリリースしますが、そのアプローチがまだ適用されることを理解しています。私が抱えている問題は、そのようなブランチのトランクへの合併をテストし、スケジューリングすることと、開発環境のブランチでそれらを使って作業することです。 – natealvar

関連する問題