他のオープンソースプロジェクトを依存関係として使用しているオープンソースMVC4プロジェクトを開始しました。他のプロジェクトをフォークし、必要に応じて変更します。私が直面している問題は、これらのプロジェクトを相互に依存させながら、別々に維持する方法です。それでも、私のプロジェクトをgitでプルする人は、依存関係プロジェクトも取得しますか?
- 他のプロジェクトのすべての関連コードを自分のリポジトリにスラムすることはできますが、この方法では、依存プロジェクトのフォークに貢献することはできません。私は自分のリポジトリの一部になります。本当にやりたくない。
- 他のプロジェクトを完全に個別に管理し、*。dllファイルを自分のプロジェクトにコピーできます。そして、依存するdllファイルをgitにコミットします。これは素晴らしいことですが、デバッグに依存するコードにステップインするとともに、2つのプロジェクトを同時に開発する能力を失います(* .pdbファイルをコピーする場合はそうではないかもしれません)
- ポイント2と同様に、依存プロジェクトからnugetパッケージをビルドし、それらをメインプロジェクトに追加できます。繰り返しになりますが、両方のプロジェクトを同時に開発することはできず、コンテキストを切り替える必要があります。
- いくつかの魔法で、私のリポジトリと依存リポジトリからのプロジェクトを組み合わせたソリューションファイルがあります。ビルドするたびに、依存するdllファイルを/libフォルダーにコピーしてコミットします。このように、別々のプロジェクト間でコンテキストを切り替える必要はありません。ただし、他の寄稿者が私のプロジェクトをgitプルすると、依存プロジェクトが取得されず、リポジトリにないプロジェクトを参照するため、ソリューションファイルが壊れてしまう可能性があります。
この場合、コードをどのように整理しますか?