I been happily using submodules to track all the libraries my project depends from. The thing is I\'m using a library called core-plot that only has a public mercurial repo
Using git-hg.
First, make sure there is a (non-Mercurial) git submodule under your main repository. If you don't have other submodules yet, just create a dummy submodule for some library other than core-plot
, for instance:
main-repo $ git submodule add https://repo.url.com/repo.git repo
Second, clone the core-plot
library into some directory.
main-repo $ git-hg clone https://code.google.com/p/core-plot/ core-plot
Add the new repo to the submodule list.
main-repo $ git submodule add ./core-plot core-plot
main-repo $ git commit -am "added core-plot submodule"
From now on, any clone from this repo will pull both repositories. (After submodule init and update).
Some problems I found out so far are:
git-hg
will have to git-hg pull
.The converse question git submodule from Hg repo? is also asked on StackOverflow. The best answer mentions projects hg-git and git-hg. Another related converse question is, How to deal with Git submodules on a repo that is converted to Mercurial.
In my experience, most active non-git projects have an up-to-date git mirror floating around on GitHub. It looks like core-plot
has one too:
https://github.com/djw/core-plot
If you're willing to rely on whoever set that mirror up, it seems like it might be the easiest option to get a submodule in place.