7

プロジェクトを構成するさまざまなアプリケーション、構成ファイル、DLL など (「モジュール」と呼びます) に対応する多数のサブフォルダーを含む Subversion リポジトリがあります。現在、いくつかの関連プロジェクトに「分岐」し始めています。つまり、各高レベル プロジェクトは、プロジェクトごとにわずかに変更された多数のモジュールを使用します。プロジェクトの数は、モジュールの数 (~20) よりも少ない (~5)

今、レポを整理する方法を見つけようとしています。モジュールごとに最上位のサブフォルダーを保持し、プロジェクトごとにサブサブフォルダーを作成することは理にかなっていますか? または、最上位は各プロジェクト用で、各プロジェクトには独自のモジュール サブフォルダーがあります。

レポ:

module 1
    Project 1
    Project 2
    ...

    Project 5
module 2
    Project 1
    ....
    Project 5
....
module 20
    Project 1
    ...
    Project 5

-また-

レポ:

Project 1
   module 1
   module 2
   ...
   module 20
Project 2
   module 1
   module 2
   ...
   module 20
...
Project 5
   module 1
   module 2
   ...
   module 20
4

5 に答える 5

3

ブランチ全体をチェックアウトし、プロジェクトの作業コピーを作成する必要があるため、トップ レベルでプロジェクト別に整理するのが最善のようです。モジュールごとに整理する場合は、プロジェクトを使用できるようにビルドするために、複数のチェックアウト (使用しているモジュールごとに 1 つ) を行う必要があります。

プロジェクトとモジュールの両方を別々にしておくことは理にかなっています。例:

Projects
   Project 1
   Project 2
   ...
Modules
   Module 1
   Module 2
   ...

それを svn externalsvendor branchと組み合わせて使用​​すると、異なるモジュール バージョンを必要とするプロジェクトの異なるブランチをサポートできますが、プロジェクトがたまたま同じバージョンのモジュールを共有している場合でも、単一のモジュール ソースを持つことのメリットはあります。 .

于 2008-09-25T14:57:40.323 に答える
1

プロジェクトごとに整理し、次にモジュールごとに整理します(2番目の例)。その主な理由は、少なくとも私にとっては、モジュールの管理よりもプロジェクトの管理の方がオーバーヘッドが大きいためです。

異なるプロジェクトごとに、独自のビルド スクリプトのセットアップ、プロパティ ファイルなどが必要であり、コンピューター上の 20 個の作業コピーよりも 5 個の作業コピーを追跡する方がはるかに簡単です。

于 2008-09-25T14:45:23.707 に答える
1

私は1番目のものを好みます。

リポジトリごとに維持するには余分な労力がかかりますが、私は自分のリビジョン番号がプロジェクトにとって意味のあるものであるようにしています。

つまり、主力製品のリビジョンは 48123 で、新しいプロジェクトのリビジョンは 31 です。リポジトリ間の依存関係がある場合は、svn externals を使用できます。

于 2008-09-25T14:46:02.023 に答える
0

プロジェクトが何であるかを説明するために「高レベル」を使用していることは、プロジェクト/モジュールのセットアップが必要であることを示唆していると思います。

ただし、モジュールとプロジェクトを設定することはできます。つまり、それらは SVN リポジトリで同じレベルにあります。プロジェクトはモジュールに依存できます。可能であれば、プロジェクトはアクションの特定の実装を提供し、モジュールをデフォルトでオーバーライド可能な実装を持つベース モジュールに変えることができます。

于 2008-09-25T14:45:12.663 に答える
0

私はプロジェクトごとに整理する傾向がありましたが、今では常にです。コードのアクセス制御の側面がある場合は、権限管理を最小限に抑えるように編成します。これにより、リポジトリがチームごとに編成される可能性もあります。

ところで: あなたは 1 つの大きなリポジトリで作業することを期待しているようです - これは賢いと思います。なぜなら、それはより良い履歴処理を意味するからです: リポジトリ間で物を移動するとすぐに、履歴が失われます。言い換えれば、これに関する Ben Scheirman のアドバイスには同意しません。

于 2008-09-25T15:05:04.427 に答える