hg convert
не был самым простым инструментом для использования в моем опыте, но hg-git
всегда работал без нареканий для меня. Поскольку вы упомянули о некоторых проблемах с Git-репозиторием некоторое время назад, вы должны попробовать полную проверку целостности:
git fsck-objects --full
(Я предполагаю, что хранилище является локальным, но если нет, создайте локальный клон и проверьте его там.)
В этом нет необходимости, но вы можете принудительно запустить сборку мусора, прежде чем продолжить:
git gc
и если вы действительно параноик, вы можете проверить это еще раз. Используя hg git
(убедитесь, что он установлен и включен в .hgrc
), очень легко сделать локальный клон Mercurial:
hg clone path/to/git/repo path/to/hg/repo
(Это может занять некоторое время - вы просматриваете ревизии одну за другой и восстанавливаете их.)
Теперь клон hg будет иметь скрытую копию репозитория git, хранящуюся внутри - вы можете увидеть это, запустив git status
из клонированного каталога. Эта скрытая копия не будет передаваться при нажатии или нажатии, поэтому, если вы действительно хотите избавиться от наследия git, вы можете сделать еще один клон:
hg clone path/to/hg/repo path/to/new/repo
Если в какой-то момент вы решите вернуться в git, вы также можете сделать это с помощью скрытого репозитория git из hg-git
:
git init path/to/new/git/repo
cd path/to/new/git/repo
git pull path/to/hg/repo/.hg/git
Если у вас по-прежнему нет гибридного репо, вы можете воссоздать его на месте с помощью hg gexport
(часть hg-git
) или использовать что-то вроде git-hg или hg / brz-bridge для git . См. Также Совместимость Git с Mercurial Repository .