2011-07-08 2 views
1

私たちの通常の操作プロセスは、開発ブランチを作成し、変更し、テストし、タグ付けし、そのタグをプロードするためにプッシュされます。その後、 "Merge Master"はこれらの変更をトランクにマージします。問題は、マージマスターが誰かについて誤ったコミュニケーションがあったことです。だから今、私たちはこれらのレポのデート・トゥークを持っていて、トランクにマージされていないタグの数を知っています。タグでSVN TRUNKの方法、最も効率的な方法をマージするには?

私たちは、この問題に取り組むために開発を停止していると私は同様の問題があったと

答えて

1

タグが戻ってマージすることを意味するものではない効率的なソリューションを打ち出している誰もが思っていました。彼らはブックマークとして援助されることを意図しています。 "開発ブランチ"をマージする必要があります。タグを見ないでください。たとえそれが以前のやり方であったとしても、タグを見ないでください。私はこのように行くような方法を考えるでしょう

+0

はい、ブランチをトランクにマージする前に、開発ブランチをトランクから同期する必要があります。オプションで、最初にユニットテストを行う必要があります。これは、トランクではなくブランチで統合バグを捕まえることを意味します。 –

0

  1. 安定性を維持するために、時間から時間にトランクをマージすることに最終のdevの変更をマージしながら、変更を加えるのdevの枝
  2. を作成します。トランク
  3. タグトランクが
  4. プッシュトランク

タグは、プロダクション用にリリースされた(通常は)スナップショットとしてのみ使用されます。彼らが作られたら、彼らは後世のために一人で放置されるべきです。私はSVN read bean book

+0

'push the tag'?これはSVN :) – manojlds

+0

リリース(通常はトランクから)、またはあなたがあなたのアプリを手放す準備ができているときに行うことです。 :ロールレス: – thescientist

0

を読んで推薦

私はあなたたちが間違った開発プロセスについての行っていると信じています。何が起こるべきかは、トランクからのすべての分岐が修正を加えるか、いくつかの新しい機能を追加してから、その人がトランクに再びマージされることです。その後、あなたは常にトランクからタグを付けます。これは誰もが自分のマージマスターであり、人々は常に変更を元に戻し合っているため、古いトランクで問題に遭遇することはありません。また、このようにして、タグは常にテストされ、メインのベースラインになる準備ができているすべての新機能を備えています。

今現在の問題では、ブランチを持っている人は誰もが今すぐトランクにマージし、トランクに全員の "タグ"の作業コピーを持っているはずです。

-1

申し訳ありませんがsnippy回答のように聞こえますが、はい、同じ問題がありました。すべてのプロジェクトに新しいタグを作成しなくなりました。合併は悪夢です。すべてのマージにはリスクが伴います。マージの競合が発生した場合、誰かがそれらを把握しなければなりません。しかし、最悪のシナリオは、マージの競合が発生せず、結果のコードが正常にコンパイルされるということです。しかし、それは正しくありません。

私たちは過去数ヶ月間、全く異なる戦略を取ってきました。可能な限り、私たちはすべての開発をトランクで行います。通常は、現在のリリースがテストグループに引き渡されるのと同じ時期に、次のリリースで作業を開始します。だから、テストに行くときに、リリースナンバーでタグ付けされた "リリースブランチ"を剥がします。トランクにバグが修正され、リリースブランチにマージされます。これは、バグ修正が進行中の開発の一環としてテストされていることを意味します。また、マージを忘れることもありません。テストグループは、バグが修正されていないとすぐに不平を言うでしょう。リリースブランチはトランクの数週間後であるため、マージ問題はほとんどなく、変更を行ったプログラマは昨日変更を行っただけなので、容易に識別でき、利用可能です。

PS私は私たちのチームのために置くように "マージマスター"です。それは印象的なように聞こえる:私はそれを自分自身と呼ぶかもしれない。

関連する問題