0

AspDotNetStorefront の使用法に対するカスタマイズをどのように処理するかについて、分岐とマージを管理する方法に関する推奨事項があるかどうか疑問に思っています。基本的に、AspDotNetStorefront の更新を時折取得し、グローバル カスタマイズとクライアント カスタマイズの 2 つのレベルでカスタマイズを適用する必要があります。簡単な例として、次のようなものがあるとします。

  • AspDotNetStorefront は SVN でセットアップされます
  • AspDotNetStorefront は AspDotNetStorefront_v1.0 に分岐します
  • AspDotNetStorefront_v1.0 は AspDotNetStorefront_v1.0_Cust に分岐します
  • AspDotNetStorefront_v1.0_Cust を変更してコミットします
  • AspDotNetStorefront_v1.0_Cust は ClientA_v1.0 に分岐し、そこで追加の変更が行われます
  • AspDotNetStorefront_v1.0_Cust は ClientB_v1.0 に分岐し、そこで追加の変更が行われます

これが本質的に今日の私たちの立場です。現在、AspDotNetStorefront のバージョン 2.0 が公開された場合、何をすべきかわかりません。私は次のことをしたいのですが、確信が持てません:

  • AspDotNetStorefront を AspDotNetStorefront_v2.0 に分岐し、新しいソース コードをオーバーレイし、コミットします。
  • AspDotNetStorefront_v2.0 を AspDotNetStorefront_v2.0_Cust に分岐します。
  • AspDotNetStorefront_v1.0_Cust を AspDotNetStorefront_v2.0_Cust にマージ、テスト、微調整、コミット
  • AspDotNetStorefront_v2.0_Cust を ClientA_v2.0 に分岐します。
  • ClientA_v1.0 を ClientA_v2.0 にマージ、テスト調整、コミット
  • ClientB に対して最後の 2 つの手順を繰り返します

私はここで完全に基地外ですか?初めて、メーカー コードを SVN 構造に統合しようとしました。そこでは、メーカー コードが実際に変更されます (単なるボルトオンまたはプラグインではなく)。ドキュメントへの参照は役に立ちます。また、このタイプのモデルを検索するための用語を知らないだけかもしれないので、このタイプのアクティビティの用語があればそれも役に立ちます。

ありがとう!

4

1 に答える 1

0

あなたが今日持っているものは次のように見えます...

AspDotNetStorefront 
        --->  AspDotNetStorefront_v1.0
                     --->  AspDotNetStorefront_v1.0_Cust  [*]
                                        ---> ClientA_v1.0 [*]
                                        ---> ClientB_v1.0 [*]

AspDotNetStorefront_v2.0CustおよびClient*ブランチを保持したいと思います。これは対処するのが非常に難しい状況のようです...答えは事実によって異なります

AspDotNetStorefront_v1.0からへの変化の大きさは、との分岐AspDotNetStorefront_v2.0間の差ですか?CustClient*

マージが容易になり、リグレッションの問題を回避できるため、最小限の作業にパッチを適用することを選択する必要があります。

AspDotNetStorefront 
        --->  AspDotNetStorefront_v1.0 + (Upgrade Code to v2.0)
                     --->  AspDotNetStorefront_v1.0_Cust + Upgrade Code to v2.0
                                        ---> ClientA_v1.0 + Upgrade Code to v2.0
                                        ---> ClientB_v1.0 + Upgrade Code to v2.0

これらのブランチをすべてそのままにしておく必要があるように思われるので、最終的にはこのような構造になります。

于 2012-08-08T17:57:47.570 に答える