私のプロジェクトのリポジトリを整理する方法を探しています。プロジェクトはクローズドソースですが、公開される単一のサブフォルダが含まれています。そのフォルダには、メインプロジェクトから呼び出される「プラグイン」が含まれています。これらのプラグインはすべてメインプロジェクトがあることを要求しますが、メインプロジェクトでは動作する必要はありません。独立したプラグインのサブモジュール
通常の方法は、プラグインのサブモジュールを使用することですが、私はこれがメインプロジェクトにとって何を意味するのかにはあまり喜んでいません。主な開発はプラグインとは完全に独立しているので、私はプラグインのサブモジュールの更新履歴を壊したくないので、実際にはプラグインをメイン(コア)プログラムの一部にしたくありません。
私はむしろ、メインプログラムがプラグインリポジトリのサブモジュールであるため、メインの開発がプラグインから完全に独立している逆の状況になります。問題は、私のプログラム構造がプラグインがメインディレクトリツリーの内側にあることを必要とするため、プラグインが正しくアクセスできるようにすることです。
サブモジュールが「大きな」リポジトリまたは「外部」リポジトリであるような状況には、標準的なアプローチがありますか?あるいはこれを解決する別のアイデアがありますか?
再帰的なシンボリックリンクですか? – Cascabel
私は歴史の混乱は問題ではないと思います。プラグインを個別に開発してから、リリースの直前にすべてのサブモジュールを更新して一度コミットすることができます。あなたの本当の願いは、メインプロジェクトにプラグインを気づかなければならないということですね。 – Cascabel
実際にリリースされることはないので、問題はありません。主なプロジェクトはプラグインのランタイムのようなものなので、技術的には気づいていませんが、もちろんそれらのプラグインを使用することもできます。しかし、利用可能なプラグインのセットは、メインプロジェクトがメンテナンスアップデートを受け取るだけで、いつも変化しているものです。 – poke