これは非常に興味深い質問です。適切に開始することには多くの利点があります (モジュール化、低カップリングなど)。とにかく、これは私が始める方法です:
1)すべてをトランクに入れます:
http://svn/application/trunk/application
2) 可能であれば、コードをモジュールに分割するために早期に開始します
http://svn/application/trunk/application1
module1
module2
3) モジュールが安定している場合は、それをアップストリームに独自のリポジトリに移動します。
http://svn/module1/trunk
4) 最後に、いくつかの安定したモジュールとアプリケーションがある場合、最終的には次のようになる可能性があります
http://svn/application1/trunk
http://svn/application2/trunk
http://svn/module1/trunk
http://svn/module2/trunk
各アプリケーション/モジュールには独自のリリース サイクルがあります。
別の方法として、Spring Framework が何を行っているかを確認することもできます (私に尋ねれば、非常に素晴らしい組織です)。
http://svn/application1/trunk
http://svn/application2/trunk
http://svn/framework/trunk/module1
http://svn/framework/trunk/module2
少なくともプロジェクトの開始時には、コードを各モジュールのトランク/ブランチに分割しないことをお勧めします: ブランチを開始するとすぐに (トランクで作業していない場合)、他のモジュールのトランクの HEAD を操作することはできません。もう: すべてのプロジェクトを同時に分岐するか、特定のバージョン (SNAPSHOT ではなく 1.0) で作業する必要があります。あまり明確ではないと思いますが、別の説明が必要な場合はお知らせください。