6

私は現在、perl、.NET、C / C ++、およびJavaのコンポーネントを持つプロジェクトに取り組んでいます。これらのコンポーネントは相互に関連していますが、同じリリーススケジュールに関連付けられていません。ビルド/テスト環境の要件が大きく異なるため、それらをすべて同じ/ bin / src / lib / etc/tests階層にまとめるのは少し扱いに​​くいです。

この種のプロジェクトを扱うときにソース管理で使用するのに適した組織階層は何ですか?私は現在、独自のブランチを持つ各言語に傾倒しています。

repo / project1 / perl / main/..。

repo / project1 / .NET / main/..。

repo / project1 / Java / main/..。

DIDのリリーススケジュールが同じである場合、推奨される階層はどのように変わりますか?

4

1 に答える 1

2

私はあなたがレイアウトしたものがライン上にあると思います。各コンポーネントを個別にリリースするのではなく、プロジェクト全体をすべてのコンポーネントでリリースする場合は、svn:externalsを使用して異なるリポジトリの場所または完全に異なるリポジトリを作成し、外部経由のビルドをコンポーネントの最新の互換性のあるタグ付きリリースに関連付けることができます。または、gitを使用する場合は、サブモジュールを使用してほぼ同じことを行います。

/repo/project1
  trunk/
    svn:external .Net /repo/project1/components/.Net
    svn:external perl /repo/project1/components/perl
    svn:external Java /repo/project1/components/Java
    -- other integration code or what have you --
  tags/
  branches/
  components/
    .Net/
      trunk/
      tags/
      branches/
    Java/
      trunk/
      tags/
      branches/
    perl/
      trunk/
      tags/
      branches/

正確な構造はワークフローとコンポーネントの統合方法によって異なりますが、アイデアは得られます。

于 2010-02-02T16:58:49.557 に答える