Я только что установил TortoiseHG V2.11 с Mercurial-2,9HG Преобразовать на SVN дает «не выглядит как Subversion Repository»
Я пытающегося преобразовать свои локальные репозитории Subversion, созданные с помощью TortoiseSVN 1.8. 4, Subversion 1.8.5
Чтобы быть уверенными, что мое старое Subversion хранилище не имеет какие-либо странные причуд я создал новый SVN репо под названием test_repo со структурой папки по умолчанию, выполнил Checkout в test_repowc, затем добавил текст файлы на соединительную линию, а затем несколько раз модифицировали и перенесли файлы, чтобы предоставить некоторую историю.
Затем я открыл cmd.exe, переходите к папке и попытался
hg convert test_repo
и получил следующее:
assuming destination test_repo-hg
initializing destination test_repo-hg repository
test_repo does not look like a CVS checkout
test_repo does not look like a Git repository
file:///C:/Users/xxxxxx/Documents/Subversion/test_repo does not look like a Subversion repository
test_repo is not a local Mercurial repository
test_repo does not look like a darcs repository
test_repo does not look like a monotone repository
test_repo does not look like a GNU Arch repository
test_repo does not look like a Bazaar repository
cannot find required "p4" tool
abort: test_repo: missing or unsupported repository
Как вы можете видеть, Mercurial сделал файл: /// протокол для меня, но не смог распознать репозиторий subversion. Я пробовал сам выполнить файл: ///, указав тип репозитория с флагом -s, запустив Mongoose в папке и получив доступ к репозиторию в качестве URL-адреса, и ни один из них не работает. Я также попытался преобразовать из рабочей копии, а не из репозитория, но это тоже не работает.
Мне интересно, связано ли это с новой структурой SVN-файла, введенной SVN 1.7 или 1.8 (что некоторые клиенты SVN несовместимы с какой-то ситуацией)?
Неужели кому-то еще повезло с этим использованием текущих версий TortoiseSVN и TortoiseHG?
Я был намереваюсь, чтобы это было очень быстро, чтобы перейти, все взволнованы DVCS и Mercurial, и я уже ударил стену. Я читал много людей, говорящих, что это было просто, но у меня есть причудливый краевой случай, или это не так просто, как звуки слухов.
Я читал о других инструментах, таких как HGSubversion, где я мог бы клонировать SVN как репозиторий HG, но поскольку это сольные репозитории, я бы скорее просто преобразовал SVN, убедитесь, что все работает, а затем удаляет и удаляет SVN. Я предпочел бы, чтобы мой репозиторий HG еще не был «подключен» к SVN (HGSubversion позволяет «нажать» из клонированного репо HG в родительский SVN-репо?). Другие инструменты имеют смешанные отзывы, поэтому я надеялся, что работа над конвертом будет работать.
Заранее спасибо - с нетерпением жду Mercurial!
EDIT:
Документирование решения для Windows:
- Откройте командную строку
- Перейдите в репозиторий SVN (не рабочая копия)
- пробега
svnserve -r .\ -d
- Открыть другие Командная строка
- Перейдите туда, где вы хотите, чтобы ваше меркурийное репо
- Необязательно: Запустите
where hg
... если версия TortoiseHg не первая, отредактируйте путь, чтобы сделать ее первой - эта версия включает в себя связки SVN-питона, которые необходимы для использования протоколаsvn://
. Перезагрузите приглашение cmd после редактирования пути. пробег
hg convert -s svn svn://localhost .\hg_repo_name
- Я сделал computername.full.domain.name вместо локального хоста, но локальный должен работать тоже.
svn://
направления слэша какhttp://
иfile:///
не нравятсяC:\
- Если ваш код SVN репо не ствол или не использовать папку магистральной (я не сделал для моей первых сделок РЕПО, потому что я Жду» знает, что я делаю), вам это нужно, что говорит ртутным использовать корневой каталог, как ствол:
hg --config config.svn.trunk= convert -s svn svn:\\localhost .\hg_repo_name
- Я просто имел репо SVN, где я импортируемый папку коды в корень, но не в туловище ... Я попытался использовать приведенный выше код, чтобы установить соединительную линию равным имени папки кода, но это не сработает ... однако, когда я добавил имя папки в URL-адрес svn, это сработало :
`рт.ст. конвертировать SVN:. //%computername%.domain.com/code_folder \ hg_repo_name
удачи!
Альтернативой (и, возможно, быстрее, если у вас есть под рукой) решение для использования виртуальной машины Linux для выполнения задания. – gmas80