Я пытаюсь преобразовать существующий репозиторий SVN в ртутный репозиторий с помощью следующей команды

hg convert <репозиторий> <папка>

Моя проблема заключается в том, что аутентификация хранилища SVN выполняется с сертификатами p12. Я немного растерялся, как настроить сертификат для клиента hg, чтобы я мог получить репозиторий svn и преобразовать его. В настоящее время, если я пытаюсь запустить вышеуказанную команду, я получаю

инициализация конечного хранилища hg-client прерывается: ошибка: _ssl.c: 480: ошибка: 14094410: процедуры SSL: SSL3_READ_BYTES: ошибка квитирования оповещения sslv3

Другими словами, он не может найти требуемый сертификат. Вопрос в том, как мне настроить мой клиент hg, чтобы он мог использовать мой сертификат?

Я использую клиент командной строки hg на Linux.

РЕДАКТИРОВАТЬ: Просто для пояснения, это не сервер, который имеет сертификат, это не клиент, который пытается аутентифицировать сервер. Это клиент, имеющий сертификат, который необходим серверу для аутентификации клиента.

3 ответа3

1

Я не уверен, как убедить Mercurial представить сертификат, но вы можете использовать svnsync чтобы сделать локальную копию репозитория svn, а затем запустить hg convert этого. Это должно сделать конвертирование значительно быстрее в любом случае.

0

Есть обходной путь, который может помочь, если вы сначала проверяете репозиторий svn и постоянно принимаете сертификат, тогда hg должен использовать это и конвертировать репо.

Итак, сначала проверьте нужный репозиторий с помощью Subversion:

svn co https://yoursvn.com

Subversion должна спросить вас о сертификате, введите p, чтобы окончательно принять его.

(R)eject, accept (t)emporarily or accept (p)ermanently? p

Теперь нас не волнует копия, которую вы только что извлекли, мы просто хотели создать исключение для сертификата. Если вы сейчас запустите исходную команду hg convert, надеюсь, она будет работать с использованием сертификата, который мы только что разрешили:

hg convert <repository> <folder>

Дайте мне знать, если это сработает, так как я скоро переключусь на Mercurial с клиентом, и это может быть проблемой. Смотрите эту ссылку для получения дополнительной информации об обходном пути выше.

0

Другая альтернатива (и да, я понимаю, что этому вопросу уже несколько месяцев), это конвертировать из вашего svn checkout. Просто убедитесь, что вы сделали полную проверку (обычно на один уровень выше вашего /trunk) и запустили на ней hg convert .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .