私はSVNレッドビーンの本を読んで、人々がどのようにSVNリポジトリをレイアウトしているかを調べました。私たちはSVNを製品に使用することを考えています。私のプロジェクトに良いSVNレイアウトを推奨
Program 1
Program 2
Program 3
Common Code
Graphics
それは時々プログラム1は、ソースファイルを使用することができることに注意することが重要です。
製品は、電流源のレイアウトが何かのようなものです.exeファイル、グラフィックス、などの数から成る、デスクトップアプリケーションでありますプログラム2にもあります。共通コードとグラフィックスは、すべてのプログラムで使用されます。
主な質問は、すべてのユーザーが現在製品のバージョン2009を使用していて、それを維持し、サービスパックなどをリリースし、同時にバージョン2010の開発を開始する必要があります2009年のリリース、または2010年のリリースの変更
trunk (where 2010 development happens)
Program 1
Program 2
Program 3
Common Code
Graphics
branches
v2009
Program 1
Program 2
Program 3
Common Code
Graphics
tags
2009 (read only)
2009 SP1 (read only)
2009 SP2 (read only)
これは推奨レイアウトですか?またはトランクには2009年の開発が含まれていて、何らかの種類のテストブランチで2010年の開発が含まれていますか?
上記のレイアウトは、開発者がプログラム1で作業したい場合、彼らはまだプログラム2を含むプロジェクト全体を、チェックアウトする必要があります意味し、プログラム3
EDIT、より多くの質問
遠慮してくれてありがとう。さらに質問があります:
開発中に、バージョン2009がまだユーザーによって使用されている場所が4〜6ヶ月あり、2010年の開発中に維持する必要があります。その間、2009年と2010年の両方のリリースに変更を適用する最良の方法は何ですか?これらの変更は、2009年にポートを2010年に変更するか、またはその逆の変更を行う必要がありますか?
IMHO、これはこの場合意味がありません。 「システム」は3つのアプリで構成されています。システム全体をバージョン管理する必要があります。それが3つの独立したアプリケーションだったなら、私はあなたのレイアウトに同意するでしょう。 – EmmEff
合意しましたが、それは私には明らかではありませんでした。プログラムが一緒になっている場合は、単一のトランクを持つ方が良いですが、グラフィックサブシステムには異なるバージョンのトランクがあります(たとえば、バージョンが正しく設定されているなど)。 –
過去に私が見てきた方法は、PRODUCT全体のバージョンを1つのディレクトリ階層の下に置くことです。製品を組み立てるためにディレクトリツリーを選択して選択する必要はありません。 – EmmEff