Mercurialでバージョン管理されたクローズドソースプロジェクトを開発しています。プロジェクトでは2つのライブラリを使用しています。
それらのライブラリの1つは、サードパーティによって開発されています。彼らはgitを使用しており、通常は週に1回、リポジトリからプルして最新の変更を取得します。
もう1つのライブラリは、独自に開発中であり、活発に開発されています。LGPLの下でライセンスされているため、独自のパブリックMercurialリポジトリに存在する必要があります。(これは、サードパーティのLGPLコンポーネントのフォークであり、当社のプラットフォームに移植されています)
だから私の質問は次のとおりです。次のことを確実にするために、ソースをどのように整理する必要がありますか。
私たちのチームの開発者は、1つの「クローン」コマンドですべてのソース(メインプロジェクト+ライブラリ)を取得できるはずです。
ライブラリの1つがgitによって管理されている場合でも、ライブラリから最新の変更を簡単に取得できるはずです。
gitの下のライブラリにアクセスするためにhg-gitを使用して、Mercurialサブリポジトリ機能を使用する必要がありますか?TortoiseHgとBitBucketで十分にサポートされていますか?(長所:ライブラリの変更を簡単に取得/短所:うまく機能しますか?)
または、プロジェクトの下にあるライブラリのスナップショットのみを保持する必要がありますか?(したがって、ライブラリに新しいアップストリームの変更がある場合は、それらを別の場所にプルしてから、ソース全体をプロジェクトにコピーしますか?(長所:機能します/短所:お尻の痛み、特にライブラリの場合自分たちで開発しているので、日々変化します)