Наша команда использует SVN для управления приложением приличного размера, и со временем сформировалась довольно сложная иерархия ветвей и тегов, которая основывается на базовом стандартном макете для хранилищ SVN, но более вложенный:Миграция сложной иерархии ветвей SVN в Mercurial
|-trunk |-branches | |-releases | | |-releaseA | | `-releaseB | `-features | |-featureX | `-featureY |-tags |-releaseA | |-beta | `-RTP `-releaseB |-beta `-RTP
(ветви особенности, очевидно, временные филиалы, но мы должны принять их во внимание, поскольку это не будет возможным, чтобы закрыть их все сразу в ближайшем будущем)
По нескольким причинам, но прежде всего потому, что слияния становятся все болью, мы считаем ng для переключения на Mercurial.
Основная проблема, с которой мы сталкиваемся сейчас, - это перенос существующей базы кода без потери нашей истории. Я пробовал несколько инструментов миграции (например, , hg convert и svn2hg), причем yasvn2hg является наиболее перспективным, но ни один из них, похоже, не справляется с вложенными иерархиями, но все они предполагают, что ветви и теги организованы в один плоский каталог соответственно.
Выбор между названных ветвей или клонов в качестве цели конверсии старых ветвей SVN не является ограничивающим фактором в данном случае, либо как решение будет оценено. В настоящее время мы экспериментируем с обоими вариантами и как они будут вписываться в наши текущие процессы, но пока не определились. Я, очевидно, был бы заинтересован в рекомендациях или опыте с аналогичными установками, касающимися этой проблемы.
Итак, Каков наилучший способ преобразования вложенной иерархии ветвей SVN, как это, в Mercurial?
Преобразование одной ветви за раз в отдельный репозиторий было бы весьма раздражающим, и я не уверен, что это будет правильный подход в первую очередь, в зависимости от того, как инструменты обрабатывают исторические слияния и должны знать все остальные отрасли?
эй, я почти опубликовал тот же самый вопрос только сейчас. Хотелось бы услышать, если вы остановитесь на решении, задав вопрос. Как упоминалось ниже в комментарии, в моем случае наличие «клона» для вложенной ветви на самом деле не является решением, и я уверен, надеюсь найти способ импортировать ветки _as branches_ в HG без дублирования гор данных, разбив на много репо. –