2012-05-17 3 views
2

Я использую SVN для управления версиями, который размещается хостинговой компанией-репозиторией. Я рассматриваю возможность переноса этого на Git и тестирование вод миграции, пытаясь перейти на локальный экземпляр Git. Я установил Git Extensions v2.31 и установил версию msysgit, которую мне предложили во время установки.Cloning SVN-репозиторий для Git

После установки я щелкнул по опции «Clone SVN repository» и ввел в местоположение репо 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 and SVN on Windows

Однако у меня даже нет возможности отклонить/принять и т. Д.? У кого-нибудь есть идеи?

ТИА

ответ

2

Я рекомендую вам попробовать клон с SmartGit. Является ли он основан на другом движке, а не git-svn или даже SVN, поэтому я думаю, что вы не получите эту проблему. Есть еще несколько причин предпочесть SmartGit: он переводит такие понятия SVN, как ветви, теги, игнорирует, EOLs в соответствующие концепции Git, git-svn - нет.

0

Посмотрите на SmartGit. Его SVN-интеграция поддерживает больше функций, чем git-svn, и она построена на другой клиентской библиотеке SVN, которая обычно хорошо справляется с различными сценариями аутентификации.

8

Вы все еще можете сделать это с помощью 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 в проекте, который вы пытались клонировать, также предоставит вам опции reject/accept/etc.

+2

При использовании Git Bash вы можете навсегда принять сертификат, а затем вернуться к использованию Git Extensions (или TortoiseGit). –

+0

Мне очень нравится добавлять «svn» в команду git clone, поэтому я считаю, что этот ответ лучший. –

1

Если вы не против использования терминала и лучше понимаете, как работает git, я предлагаю вам использовать git bash. В противном случае вы должны использовать syncvo SmartGit, так как он также предлагает различные механизмы управления машиной и ключами, а также IMPO, это лучший инструмент графического интерфейса в Windows.