0

私たちは製品のファミリーを構築しています。ファミリ内の各製品は、共通の「インフラストラクチャ」コンポーネントに基づいて構築されています。そのため、ファミリ内の製品A、製品B、およびインフラストラクチャコンポーネントに取り組んでいるさまざまなアプリケーションチームがあります。

通常、製品A、B .. Xとインフラストラクチャには、互いに独立した独自のリリースサイクルがあります。したがって、バージョン管理戦略は2つあります。製品/インフラストラクチャは個別にバージョン管理されてから、デプロイされたファミリがバージョン管理されます。

すべての製品が同時に作成されるわけではありません。したがって、いくつかの展開例は次のとおりです。-

Family1.0 [インフラストラクチャ-1.0、製品A-1.0]

Family1.0.1 [インフラストラクチャ-1.0、製品A-1.1]

Family1.2 [インフラストラクチャ-1.1、製品A-2.0]

Family2.0 [インフラストラクチャ-1.2、製品A-2.0、製品B-1.0]

したがって、私は次のようなSVNディレクトリ構造を作成しました

family
    /tags
/product A
    /tags
    /trunk
/product B
    /tags
    /trunk
/infrastructure
    /tags
    /trunk

私の質問は、どうすれば次のことを可能にすることができますか?

/family
    /tags
        /tag1.0 <-- should refer to infrastructure tag 1.0 and product A tag1.0
/product A
    /tags
        /tag1.0
/infrastructure
    /tags
        /tag1.0

したがって、ファミリtag1.0は、製品Aタグ1.0およびインフラストラクチャtag1.0を参照する必要があります。

4

2 に答える 2

1

svn:externalsプロパティ(ここ)を使用できるはずですが、他の誰かのリポジトリにリンクする代わりに、リポジトリを指定します。

したがって、製品Aの外部セットはhttp://myrepourl.com/infrastructure/tags/tag1.0になります。

そして、製品はhttp://myrepourl.com/infrastructure/tags/tag1.1に外部セットを持つことができます。

これは、構成ファイル(または正しいインフラストラクチャをチェックアウトするバージョン管理されたスクリプト)に何らかの形で含まれていない限り、複数の依存関係を実現するために私が考えることができる唯一の方法です。

于 2012-05-01T20:38:54.030 に答える
0

すべてのプロジェクトのスナップショットが必要な場合は、ルートをタグフォルダーに分岐します

あなたはから行きます:

/tags
/trunk
    /family           
    /product_A
    /product_B
    /infrastructure

/tags
    /tag1.0               ; Snapshot of trunk with all the projects
        /family           
        /product_A
        /product_B
        /infrastructure
/trunk
    /family           
    /product_A
    /product_B
    /infrastructure
于 2012-05-01T20:39:12.667 に答える