Как преобразовать репозиторий git в mercurial?
Я разрабатываю Java-приложение, используя git в качестве репозитория исходного кода. Я хотел бы поделиться проектом с другими разработчиками java, и hg, похоже, больше всего ими пользуются.
Мой вопрос в том, как преобразовать репозиторий git в hg?
Если я попробовал googling "конвертировать git в hg", и каждый поиск попадает на конвертацию с hg на git. Я также использую TortoiseHg.
Ответы
Ответ 1
Утилита hg convert
не включена по умолчанию после установки. Чтобы установить его как таковой, добавьте следующее в ваш файл .hgrc
.
[extensions]
hgext.convert=
Если вы используете TortoiseHg в Windows, этот файл находится в вашем домашнем каталоге как mercurial.ini
. После этого изменения вы сможете использовать утилиту hg convert
.
Ответ 2
Используя расширение Mercurial Convert
Добавьте следующие строки в .hgrc
или включите расширение:
[extensions]
hgext.convert=
И набрав
cd src
hg convert --datesort . dst
(даже если он может привести к некоторым проблемам...)
Примечание:: metrix сообщает, что это может не сработать:
hg convert --datesort src dst
Примечание., если вы выполняете эту команду из каталога, отличного от исходного каталога, появляется ошибка с hg convert
.
Вы получите следующую ошибку:
abort: cannot read tags from git-repo4/.git
Подтверждено с помощью git 1.7.9 и Mercurial 2.6.2 в Windows XP
Ответ 3
Вам может понадобиться утилита http://hg-git.github.com/: плагин Git для Mercurial
Этот плагин первоначально разработан парнями GitHub и позволяет конвертировать из git ↔ mercurial без потерь. Теоретически вы можете даже клонировать hg-репозиторий.
Ответ 4
Распределенный контроль версий с Mercurial:
Поддерживаются инструменты контроля версий путем преобразования:
Так что, возможно, вам не нужен какой-либо дополнительный инструмент?
Ответ 5
Расширение конвертации может работать для вас, но если это не так, вы можете проверить tailor, который является общим предназначенный для преобразования между различными распределенными SCM.
Ответ 6
Вы можете просто не преобразовать его вообще. Просто используйте Hg-Git плагин! Никто не узнает разницу.
Ответ 7
Новый игрок в городе: git-remote-hg. Он обеспечивает поддержку встроенного моста в git.
Просто:
hg init ../hgrepo
git push hg::$PWD/../hgrepo
Ответ 8
В папке Git
со всеми моими репозиториями Git я создал файл Git2Hg.cmd
со следующим содержимым:
set PATH=%PATH%;C:\Program Files\TortoiseHg
set PATH=%PATH%;C:\Program Files\Git\bin
hg convert %1
Теперь я могу преобразовать репозиторий Git в Hg, введя его в CMD:
Git2Hg "Folder Name"
Ответ 9
Hg- Git Плагин, или если вы используете для Windows или переходите от одного к другому, посетите 2 [Windows GIT ]