将SVN存储库克隆到Git

3
我正在使用由仓库托管公司提供的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上

然而,我甚至没有得到拒绝/接受等选项?有人有什么想法吗?

TIA

4个回答

9
您仍然可以使用Git Extensions进行此操作。从Git Extensions内打开Git Bash,并运行您在使用GUI时看到的命令:git svn clone "https://foobar.domain.com/folder/name.svn" "c:/git/"这将为您提供拒绝/接受临时/永久选项,这些选项与您链接到的其他SO问题中所见相同。
如果您已经尝试过“Clone SVN Repository”选项但没有成功,请注意,您的本地repo实际上已经设置好了,只是还未填充任何文件。在这种情况下,您不再需要克隆,只需获取。在您尝试克隆的项目上运行git svn fetch也会为您提供拒绝/接受等选项。

2
在使用Git Bash时,您可以永久接受证书,然后返回使用Git Extensions(或TortoiseGit)。 - kod kristoff
我更喜欢在git clone命令中添加“svn”,因此我认为这个答案是提供的最好的答案。 - Erick Brown

2
我建议您尝试使用SmartGit进行克隆。它基于另一个引擎,而不是git-svn或甚至SVN,因此我认为您不会遇到这个问题。还有一些更喜欢SmartGit的原因:它将诸如分支、标记、忽略、行尾等SVN概念转换为相应的Git概念,而git-svn则不会。

1
如果您不介意使用终端并更好地了解git的工作原理,我建议您使用 git bash。否则,您应该使用syntevo的 SmartGit,因为它还提供了不同的引擎和密钥管理,并且在Windows中是最好的GUI工具(IMPO)。

0

看一下SmartGit。它的SVN集成支持的功能比git-svn更多,并且它是基于一个不同的SVN客户端库构建的,通常能很好地处理各种身份验证场景。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接