2012-05-01 10 views
0

私たちは製品ファミリを構築しています。家族内の各製品は、共通のインフラストラクチャコンポーネントで構築されています。そのため、我々は家族内の製品A、製品B、およびインフラストラクチャコンポーネントに取り組んでいるさまざまなアプリケーションチームを持っています。バージョン管理のSVNファミリ

通常、製品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]

したがって、私は、このような

0としてSVNのディレクトリ構造を作成しました

私の質問は、私は以下の可能

/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はタグ1.0およびインフラtag1.0製品を参照してくださいすることができます方法です。

+1

へsvn自身で行うが、デプロイメントと依存関係管理ソフトウェアを使用する – zerkms

+0

私たちはsvnを使って依存関係を管理し、svnを使ってデプロイメントスナップショットを管理している – Jimm

答えて

1

svn:externals properety(here)を使用することができますが、リポジトリを指定した他のリポジトリにリンクするのではなく、

だから、製品Aはhttp://myrepourl.com/infrastructure/tags/tag1.0

に外部のセットを持っているでしょうし、製品はその後http://myrepourl.com/infrastructure/tags/tag1.1に外部のセットを持っている可能性があること。

これは、構成ファイル(または適切なインフラストラクチャをチェックアウトするバージョン管理されたスクリプト)に何らかの形でなかった場合、複数の依存関係を達成するために考えられる唯一の方法です。

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 
関連する問題