Клонирование SVN-репозитория для Git
Я использую SVN для управления исходным кодом, который размещен в хостинговой компании. Я подумываю о переносе этого в Git и тестировании вод миграции, пытаясь мигрировать в локальный экземпляр Git. Я установил Git Extensions v2.31 и установил версию msysgit, которую мне предложили во время установки.
После установки я щелкнул по опции "Клонировать SVN-репозиторий" и ввел местоположение репозитория SVN и другие необходимые детали. Нажал на кнопку Клон. Затем мне было представлено следующее сообщение в окне "Вывод процесса" (некоторая информация была десенсибилизирована):
c:\Program Files (x86)\Git\bin\git.exe svn clone "https://foobar.domain.com/folder/name.svn" "c:/git/"
Initialized empty Git repository in c:/git/.git/
Error validating server certificate for 'https://foobar.domain.com:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: *.domain.com
- Valid: from Mar 18 13:23:06 2012 GMT until Apr 20 16:16:05 2013 GMT
- Issuer: GeoTrust, Inc., US
- Fingerprint: a2:36:f0:ae:8c:c7:a3:f2:be:98:b3:0f:2e:f8:3a:07:9a:94:90:81
В этот момент больше ничего не отображается, индикатор выполнения все еще показывает прогресс, но на самом деле ничего не происходит. Проблема кажется похожей на ту, о которой сообщают здесь: Git и SVN на Windows
Тем не менее, я даже не получаю возможность отклонить / принять и т.д.? У кого-нибудь есть идеи?
ТИА
4 ответа
Я бы порекомендовал вам попробовать клон с помощью SmartGit. Он основан на другом движке, а не на git-svn или даже SVN, так что я думаю, что у вас не возникнет этой проблемы. Есть еще несколько причин отдать предпочтение SmartGit: он переводит такие концепции SVN, как ветви, теги, игнорирует, EOL, в соответствующие концепции Git, а git-svn - нет.
Вы все еще можете сделать это с помощью Git Extensions. Откройте Git Bash изнутри Git Extensions и выполните команду, которую вы видели при использовании графического интерфейса: git svn clone "https://foobar.domain.com/folder/name.svn" "c:/git/"
Это предоставит вам варианты отклонить / принять временно / навсегда, которые вы видите в другом вопросе SO, с которым вы связаны.
Если вы уже использовали опцию "Clone SVN Repository" и не добились успеха, как описано, локальное хранилище уже настроено, но еще не заполнено ни одним из файлов. В этом случае вам больше не нужно делать клон, только выборку. Бег git svn fetch
в проекте, который вы пытались клонировать, вам также будут предоставлены опции отклонить / принять / и т.д.
Если вы не возражаете против использования терминала и лучше понимаете, как работает git, я предлагаю вам использовать git bash. В противном случае вы должны использовать SmartGit от syntevo, поскольку он также предлагает другой механизм управления ключами и, IMPO, это лучший инструмент с графическим интерфейсом в Windows.
Посмотрите на SmartGit. Его интеграция с SVN поддерживает больше функций, чем git-svn, и она построена на другой клиентской библиотеке SVN, которая обычно хорошо обрабатывает различные сценарии аутентификации.