管理したい一連の関連リポジトリがあります。
保存したいデータは、「ユニット」からなる「ライブラリ」からなる「プロジェクト」です。各ライブラリはプロジェクトのサブフォルダーに保存され、各ユニットはライブラリのサブフォルダーに保存されます。
複数のプロジェクト間でライブラリとユニットを再利用できるようにするために、次のスキームに従ってそれらを保存する予定です。
repositories/projects/project1
repositories/projects/project2>
repositories/projects/project...
repositories/libraries/library1
repositories/libraries/library2
repositories/libraries/library...
repositories/units/unit1
repositories/units/unit2
repositories/units/unit...
../../libraries/library1
プロジェクトで使用されているライブラリを相対的に参照し ( usesなど)、ライブラリ内のユニットも相対的に参照したいと思います。
ライブラリとユニットは、それらを含むプロジェクトを変更することによってのみ変更できます。そのため、ライブラリとユニットのリポジトリは、必要に応じてむき出しにすることができます。
サーバー上のリポジトリは同じように見える必要があります (フォルダーのレイアウトが同じ)。
私はすでにサブモジュールと「読み取りツリー/サブツリーのマージ」アプローチを使用しようとしましたが、サブモジュールの場合にリポジトリへの相対 URL を指定し、読み取りツリー アプローチで変更をプッシュする方法を見つけることができませんでした。
私が達成したいのは、project1 をチェックアウトすると、必要なすべてのライブラリとユニットもフェッチされ、プロジェクトを通じてライブラリまたはユニットを変更すると、これらの変更をサーバーに簡単にプッシュできるようになることです。