Есть ли способ использовать репозиторий Mercurial в качестве подмодуля Git? - PullRequest
58 голосов
/ 30 января 2012

Я с радостью использовал подмодули для отслеживания всех библиотек, от которых зависит мой проект. Дело в том, что я использую библиотеку под названием core-plot, которая имеет только публичный ртутный репозиторий Я, вероятно, могу отразить это в репозитории Git только для чтения, но разве это лучший вариант, который я получил? Я видел, что в Mercurial есть модули для отслеживания вещей в Git. Кто-то знает, существует ли обратный путь?

Ответы [ 2 ]

25 голосов
/ 01 февраля 2012

Использование Гит-ХГ .

Во-первых, убедитесь, что в вашем главном репозитории есть (не 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 из репозитория Hg? также задается в StackOverflow.Лучший ответ упоминает проекты HG-GIT и GIT-HG.Другой связанный с этим обратный вопрос: Как работать с подмодулями Git в репо, преобразованном в Mercurial .

15 голосов
/ 03 февраля 2012

По моему опыту, большинство активных не git-проектов имеют современное git-зеркало, плавающее на GitHub.Похоже, что core-plot тоже есть:

https://github.com/djw/core-plot

Если вы готовы положиться на того, кто настроил это зеркало, кажется, что это может быть самый простой способ получитьсубмодуль на месте.

...