これと同様の質問がすでに行われていますが、私がやろうとしていることとは正確には異なります.
最初は git サブモジュールが必要だと思っていました。次にスーパープロジェクトをセットアップし、次にサブツリーをマージしましたが、これらのいずれかが実際に適合するかどうかはわかりません。
プロジェクト(Eva)があり、オプションの拡張機能をいくつか書いています。したがって、Eva のコピーを Github から取得した場合、オプションのプラグインは含まれていませんが、個別に取得して使用することができます。
オプションの拡張子は、Eva と同じディレクトリ構造にあります。ここまでシンプル...
Eva
|
--- system/
--- events/
|
--- core_events
--- tests/
|
--- core_tests
Extension A
|
--- events/
|
--- [extension A]
--- tests/
|
--- [extension A tests]
今夜、これらの拡張機能にテストを追加したいと思いました。現在、ローカルの Eva git リポジトリの外にある別のディレクトリにテストを置いています。これらのテストを実行するには、これらの拡張機能を Eva と同じディレクトリに配置する必要があります。イベントの実行はコア システムに依存しています。
Eva
|
--- system/
--- events/
|
--- core_events
--- [extension A]
--- [extension B]
--- tests/
|
--- core_tests
--- [extension A tests]
--- [extension B tests]
Eva プロジェクト ファイルを拡張リポジトリ ディレクトリにコピーすることはできますが、Eva のソースを変更する場合は、それらの変更をコピーし続ける必要があります。
この不器用なセットアップを続行する必要がありますか、それとも git がこれに対応できるより適切な方法はありますか?
たぶん、私の要件は他の質問の逆です。私の拡張機能は Eva のサブ プロジェクトであり、時々 Eva リポジトリから更新を取り込む必要があります。
誰かが Eva のクローンを作成するときに拡張リポジトリをサブモジュールとして追加すると、オプションのプラグインもすべて取得されますか? 私はそれをしたくありません。
サブツリーのマージがどちらにも適合するかどうかはわかりませんが、拡張プロジェクトをコア Eva プロジェクトにプルする必要はありません。