7

ビジネス ロジックとデータ トランザクションの C# アセンブリである「フレームワーク」というソリューションがあります。

フレームワークを使用する 4 つのアプリケーション、1 つの Web サイト、1 つのコンソール アプリ、および 3 つの他の種類のアプリケーションがあります。

$/TeamProject
    /Framework
        /Dev
        /Main
        /Release
    /WebApp
        /Dev
        /Main
        /Release
    /WCFApp
        /Dev
        /Main
        /Release

これらすべてを 1 つのチーム プロジェクトにまとめ、各アセンブリ/アプリケーションを独自のフォルダーに配置しました。

フレームワーク アセンブリを共有するアプリケーションごとに分岐機能を使用したいのですが、フレームワークと共にアプリケーションを分岐する最適な方法がわかりません。

助言がありますか?

分岐とマージがどのように機能するかは知っていますが、すべての例は、1 つのフォルダーに含まれるすべての分岐のみを示しています。

4

3 に答える 3

7

ソース管理ディレクトリを表す図に照らして、次のように仮定します。

$ / TeamProject
   /フレームワーク
   /コンソール
   /ウェブ
   /等。

最初に行う必要があるのは、で呼び出されるフォルダーMain$/TeamProjectこれはメイン-別名トランク-ブランチになります)を作成し、すべての最上位フォルダーをそのフォルダーに移動することです。

したがって、次のようになります。

$ / TeamProject
   /主要
     /フレームワーク
     /コンソール
     /ウェブ
     /等。

次に、ブランチに変換する必要があります。これを行うには、フォルダをMain右クリックして[ブランチに変換]を選択します。MainTFSを使用すると、 (たとえば)コンソールのV2の機能に分岐$/TeamProject/Mainして作業できるようになります。$/TeamProject/ConsoleV2このブランチで必要に応じて、コンソールアプリケーションとフレームワークを変更できます。この作業が完了したら、変更を逆統合(マージ)して戻すことができますMain

前方統合マージ(マージダウン)をMain機能ブランチから実行し続け、競合を解決してコードベースの同期を維持することを忘れないでください。

このアプローチを採用することで、1回のアトミックチェックインで製品の任意の部分を変更できます。たとえば、フレームワークのAPIを変更してメソッドに新しい必須パラメーターを追加すると、すべてのアプリで変更できます。同時に、RIをマージすると、Mainすべてが更新されます。

于 2012-06-13T20:53:13.497 に答える
-2

個々のプロジェクトの分岐とマージが必要な場合、TFSでそれを実現する唯一の方法は、ソリューション内のプロジェクトごとに個別のTFSプロジェクトを作成することです。それが理にかなっていることを願っています。一度それを行うと、各プロジェクトから作業ディレクトリにコードを分岐できます。

少し前に、コードをVSSからTFSに移行しました。当時、私たちはすべてのコードを1つのTFSプロジェクトに入れるか、それらを分割するかを決定する必要がありました。つまり、Webサイト、ビジネスライブラリ(Webサイトや他のアプリで使用される)、データレイヤーがあります。ライブラリ、Webサイト、およびデータレイヤープロジェクト用に個別のTFSプロジェクトを作成しました。各プロジェクトにはトランクブランチがあります。最新のものが必要な人は誰でも、トランクから自分のコピーを分岐して、そこにマージします。

お役に立てば幸いです。

于 2012-06-13T20:39:13.177 に答える