0

しばらく前に、cvs2svn を使用して cvs から svn に移行しました。これにより、次の形式でデフォルトのリポジトリ レイアウトが作成されました。

/trunk
    /project1
    /project2
    ...
/branches
/tags

これまで見てきたことから、推奨されるアプローチは、各プロジェクトの下にトランクを配置することです (ブランチとタグがどこにあるのかわかりませんか?)

私のsvnレポは約1.8Gで、トランクの下に約30のプロジェクトがあります。タグとブランチのフォルダーは空です。レイアウトを変更することは可能ですか?それを行う価値はありますか?

ありがとうございました!

4

2 に答える 2

1

プロジェクトベースのルートが必要な場合、この場合の論理ツリーは (IMNSHO) であり、このプロジェクトのトランクと同じレベルの ProjectN dir の下にタグとブランチがあります。

レイアウトを変更することは可能ですか?それを行う価値はありますか?

はい、「場合によります...」多くのことを実行する必要がありsvn mkdirsvn mvプロセス中のミスやミスタイプを回避する必要があります

個人的には、「プロジェクトごとのリポジトリ」を好みます。なぜなら、巨大な共有リポジトリには利点よりも欠点の方が多く、ハードワークする準備ができている場合は、分割の1回限りのプロセス(およびおそらくクリーニング:1.8GBはひどいサイズです)リポジトリの方が優れている可能性があるためです時間と注意の投資

于 2012-11-25T20:30:44.803 に答える
1

一般に、リリースやバグ修正などのバージョン管理を容易にするために、プロジェクトごとにこれらのフォルダーを用意することがベスト プラクティスと考えられています。すべてのプロジェクトを一緒に分岐する必要はおそらくないでしょう (共通の依存関係によって密接に関連している場合を除きます)。 、それでも必要かどうかは議論の余地があります)。

その方法は、要件によって異なります。単純化した観点から見ると、svn ブランチは単なるフォルダーなので、次のようにすることができます。

/trunk
    /project1
        /trunk
        /branches
        /tags
    /project2
        /trunk
        /branches
        /tags

これにより、コードベース全体trunkを分岐したい場合を除き、基本的にトップレベルが冗長になりますが、そうすることにした場合、変換が容易になる可能性があります。これらの最上位フォルダーも、それが要件にならない場合は削除することを検討します。

関連する質問は、より多くのカスタマイズを可能にする複数のリポジトリ (プロジェクトごとに個別のフック、個別のアクセス許可の制約など) があるか、リポジトリ構成の不要な繰り返しの必要性を回避できる単一の大きなリポジトリが必要かということです。

于 2012-11-25T20:28:21.870 に答える