Преобразование из Mercurial в Subversion
Из-за отсутствия поддержки Mercurial в нескольких инструментах и управленческом угнетении стало необходимо преобразовать несколько пробных хранилищ Mercurial в Subversion, чтобы соответствовать стандарту компании.
Есть ли какие-либо инструменты или предложения по достижению этого без потери истории пересмотра и т.д.
Ответы
Ответ 1
Расширение преобразования, которое поставляется с mercurial, может использовать mercurial как src и subversion как dest.
hg convert --dest-type svn hgreponame svnreponame
Обязательно включите его в файле .hgrc.
Если вы хотите продолжать использовать mercurial потихоньку, то hgsubversion позволит вам выполнять двунаправленную синхронизацию.
Ответ 2
Ответ Ry4an выше делает трюк точно; некоторые более подробные инструкции для любого (как я), у кого проблемы:
-
Сделайте себе одолжение и не попробуйте это в Windows. Вам нужно будет установить очень специфическую версию SVN, и даже тогда некоторые вещи будут терпеть неудачу с различными сообщениями об ошибках. Моим решением было загрузить чистый экземпляр AWS, yum - получить на нем последние версии mercurial и svn, клонировать репозиторий HG и запустить там конвертирование.
-
Добавьте это в свой .hgrc файл, чтобы включить расширение convert
:
[extensions]
hgext.convert=
-
Запустите эту команду:
hg convert --dest-type svn <hg_directory> <directory_for_svn_output>
-
Вы можете получить следующую ошибку:
abort: svn exited with status 256
Не сдавайтесь! Просто запустите ту же команду еще раз, и она будет продолжена там, где она остановилась.
Если вы продолжаете сталкиваться с трудностями, добавьте --debug --traceback
в командную строку, чтобы получить более подробную информацию о том, что пошло не так.
Ответ 3
Tailor должен иметь возможность делать то, что вы хотите.