私はプロジェクトが依存しているすべてのライブラリーを追跡するために、サブモジュールを楽しく使っています。問題は、公開されているMercurialリポジトリのみを持つcore-plotというライブラリを使用していることです。おそらく読み取り専用のGitリポジトリでミラーリングできますが、これは私が得た最良のオプションですか? MercurialにはGitで物事を追跡するためのモジュールがあるのを見てきました。誰かが逆の方法が存在するかどうか知っていますか?
git-hg を使用します。
まず、メインリポジトリの下に(Mercurial以外の)gitサブモジュールがあることを確認します。他のサブモジュールがまだない場合は、core-plot
以外のライブラリ用のダミーサブモジュールを作成します。たとえば、次のようにします。
main-repo $ git submodule add https://repo.url.com/repo.git repo
次に、core-plot
ライブラリをいくつかのディレクトリに複製します。
main-repo $ git-hg clone https://code.google.com/p/core-plot/ core-plot
新しいリポジトリをサブモジュールリストに追加します。
main-repo $ git submodule add ./core-plot core-plot
main-repo $ git commit -am "added core-plot submodule"
これ以降、このリポジトリからのクローンは両方のリポジトリをプルします。 (サブモジュールの初期化と更新の後)。
私がこれまでに見つけたいくつかの問題は:
git-hg
を含むものをgit-hg pull
にする必要があります。逆の質問 git submodule from Hg repo? もStackOverflowで質問されます。最良の答えは、プロジェクト hg-git およびgit-hgについて言及しています。もう1つの関連する逆の質問は、 Mercurial に変換されたリポジトリでGitサブモジュールを処理する方法です。
私の経験では、最もアクティブな非gitプロジェクトには、GitHubに浮かぶ最新のgitミラーがあります。 core-plot
にもあるようです:
https://github.com/djw/core-plot
ミラーリングを設定した人に依存したい場合は、サブモジュールを配置するのが最も簡単なオプションのようです。