当社では、いくつかのフレームワーク/ライブラリを重ねてプロジェクトを作成しています。
/Framework
/Extensions (depends on Framework)
/Business (depends on Framework & Extensions)
/Project A (depends on Framework & Extensions & Business)
/Project B (depends on Framework & Extensions & Business)
/Project C (depends on Framework & Extensions & Business)
/...
これまでのところ、すべてのプロジェクトとフレームワークを含む大きな git リポジトリを使用しており、git サブツリーを使用してフレームワークのみを分割して公開しています (オープン ソースです)。
この大きなリポジトリを異なるプロジェクトに分割できるようにしたいのですが、再帰的な依存関係が非常に多いという事実が心配です:
私の知る限り、両方の git サブモジュール/git サブツリーでは、すべてのライブラリ コードがメイン リポジトリ内にある必要があるため、次のようなプロジェクト構造になります。
/Framework
/Extensions/Framework
/Business/Extension/Framework
/Project A/Business/Extensions/Framework
/Project B/Business/Extensions/Framework
/Project C/Business/Extensions/Framework
フレームワークのコピーがどこにでもたくさんあるのは好きではありません。また、フレームワーク フォルダーが階層内で非常に深くなるという事実も好きではありません。
私たちが望むのは、プロジェクト A リポジトリがプル時に、現在のリポジトリと並んでいくつかの SHA を含むリポジトリがあることをアサートし、この SHA をチェックすることです。
git サブモジュール/サブツリーを並べて作成する方法はありますか?