Репозиторий Git как подрепозиторий Hg

Пожалуйста, объясните мне, как правильно добавить репозиторий git в репозиторий hg в качестве подрепозитория.

мне просто нужна возможность

  1. клонировать репозиторий hg со всеми его подрепозиториями (git и hg);
  2. не включать исходный код из подрепозитория в родительский репозиторий, потому что подрепозиторий уже имеет свой собственный (git) репозиторий и разрабатывается отдельно от меня.

Я пробовал некоторые вещи, и теперь я действительно дезориентирован. Должен ли я создать подрепозиторий hg для хранения подрепозитория git? На какую ревизию указывает .hgsubstate (hg или git)? Должен ли я передавать код git в hg subrepo и почему?

Теперь я пытаюсь внедрить https://bitbucket.org/espinosa/z025-gwt-maven-alternative-setup в https://bitbucket.org/cube54/mavemples/src< /а>. На данный момент в битбакете эта задача выглядит выполненной, но когда я клонирую родительский (mavemples) репозиторий, он создает пустой подрепозиторий hg в моем рабочем каталоге.

My .hgsub:

GWT_multiple_apps = GWT_multiple_apps

[subpaths]
GWT_multiple_apps = git://[email protected]:espinosa/z025-gwt-maven-alternative-setup.git

My .hgsubstate:

0000000000000000000000000000000000000000 GWT_multiple_apps

Поэтому, когда в битбакете я нажимаю на номер версии, я получаю ошибку 404, потому что версия 000000000000 репозитория git не существует. Затем, если я изменю .hgsubstate следующим образом:

d35a3fb7e627b5598fb763f480e3f76932cf4232 GWT_multiple_apps

Таким образом, он направляет фактический заголовок репозитория git, а когда я клонирую свой репозиторий, я получаю это сообщение:

requesting all changes
adding changesets
adding manifests
adding file changes
added 10 changesets with 27 changes to 19 files
updating to branch default
cloning subrepo GWT_multiple_apps from https://[email protected]/cube54/mavemples/git%3A//git%40bitbucket.org%3Aespinosa/z025-gwt-maven-alternative-setup.git
requesting all changes
adding changesets
adding manifests
adding file changes
added 10 changesets with 27 changes to 19 files
abort: unknown revision 'd35a3fb7e627b5598fb763f480e3f76932cf4232'!

А также файл hgrc моего hg subrepo содержит следующее:

[paths]
default = https://[email protected]/cube54/mavemples/git%3A//git%40bitbucket.org%3Aespinosa/z025-gwt-maven-alternative-setup.git

Если я удалю папку .hg в папке подрепозитория, а затем клонирую репозиторий git в папку подрепозитория, то TortoiseHg в диалоговом окне фиксации сообщит мне, что подрепозиторий удален.

Так что я вообще не знаю, что мне делать.


person Gosha U.    schedule 17.06.2014    source источник


Ответы (2)


Пожалуйста, перечитайте подрепозитории Git на вики-странице подрепозитория и запомните формат .hgsub для иностранных репозиторий и последовательность операций (возможно, ББ-суперрепозиторий придется создавать заново)

nested = [git]git://example.com/nested/repo/path.git

person Lazy Badger    schedule 17.06.2014

  1. Если вы хотите создать подрепозиторий git, обновите файл hg. Убедитесь, что hg и git обновлены и правильно установлены. Более поздние версии дают более понятные сообщения об ошибках. Когда hg выдает только abort: сообщение, только вы можете использовать опции --traceback --debug.
    Например hg push --traceback --debug https://someurl
  2. В битбакете используйте https URL вместо git@. Вы можете скопировать-вставить его с веб-страницы проекта.
  3. .hgsubstate ревизии направляются на ревизии вложенных репозиториев.
  4. Если .hgsub написано правильно, в папке git subrepo не появится подпапка .hg.

Мой новый .hgsub

GWT_multiple_apps = [git]https://bitbucket.org/espinosa/z025-gwt-maven-alternative-setup.git

.hgsubstate

d35a3fb7e627b5598fb763f480e3f76932cf4232 GWT_multiple_apps
person Gosha U.    schedule 18.06.2014