Windows 上的 Git 和 SVN
我正在尝试为我的本地存储库运行 git,并为 CodePlex 项目的中央存储库使用 SVN。 我下载了最新版本的 msysgit,但 SVN 不支持似乎正在工作。
以下内容成功初始化了一个新的空存储库,然后陷入困境:
git svn init https://myproject.svn.codeplex.com git svn fetch
尝试执行提取后,我得到以下信息:
Error validating server certificate for 'https://myproject.svn.codeplex.com:443' : - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! Certificate information: - Hostname: *.svn.codeplex.com - Valid: from May 23 02:11:05 2009 GMT until May 23 02:11:05 2010 GMT - Issuer: redmond, corp, microsoft, com - Fingerprint: f0:89:78:18:47:70:e4:dc:27:01:27:9c:6f:44:4c:3f:8a:9b:ad:79 (R)eject, accept (t)emporarily or accept (p)ermanently? p
如您所见,我尝试永久接受证书,但 msysgit 只是坐着,从不执行提取。
难道我做错了什么? 是不是支持没有了? 我在 12 月发现了类似的 Stack Overflow 帖子。 我不确定我所经历的症状是否相同。
I'm trying to run git for my local repository and use SVN for my central repository to a CodePlex project. I downloaded the most recent version of msysgit, but the SVN support doesn't appear to be working.
The following successfully initializes a new empty repository and then gets stuck:
git svn init https://myproject.svn.codeplex.com git svn fetch
After attempting to perform the fetch, I get the following:
Error validating server certificate for 'https://myproject.svn.codeplex.com:443' : - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! Certificate information: - Hostname: *.svn.codeplex.com - Valid: from May 23 02:11:05 2009 GMT until May 23 02:11:05 2010 GMT - Issuer: redmond, corp, microsoft, com - Fingerprint: f0:89:78:18:47:70:e4:dc:27:01:27:9c:6f:44:4c:3f:8a:9b:ad:79 (R)eject, accept (t)emporarily or accept (p)ermanently? p
As you can see, I try to permanently accept the certificate, but msysgit just sits and never performs the fetch.
Am I doing something wrong? Is the support not there? I found a similar Stack Overflow post from December. I'm not sure if the symptoms I'm experiencing are the same, or not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我不太清楚为什么,但是从上面询问是否接受证书的提示中回来需要很长时间。 等待约15分钟后,操作完成。
I'm not really sure why, but it takes a pretty long time to come back from the prompt above that asks whether or not to accept the certificate. After waiting about 15 minutes, the operation did complete.
根据我的经验,git-svn 在 Windows 上运行得不好。 我的建议是将 git import 放在 github 或任何其他 git 托管上,并在 Windows 上使用“纯”git。 这假设你有一个unix(或者更糟糕的cygwin,我猜它应该比msysgit工作得更好)来执行git-svn更新。 显然,这并不理想。
git-svn does not work well on windows in my experience. What I would advise is to put your git import on something like github or any other git hosting, and use "pure" git on windows. This assumes you have a unix (or at worse cygwin, which should work better than msysgit I guess) to do the git-svn updates. That's not ideal, obviously.
我通过将证书添加到身份验证链来实现此目的。
您必须获取 .pem 格式的服务器证书的颁发者证书 (CA),并使用散列名称将其复制到证书目录 (PATH_TO_GIT\ssl\certs)。
像这样生成哈希:
将 CA 文件重命名为命令的输出,并添加“.0”作为扩展名(例如 0dbd0096.0)。 这样 openssl 就会找到可用于验证您的服务器证书的 CA。
在此处查找更多信息:http://gagravarr.org/writing/openssl- certs/others.shtml#ca-openssl
I got this working by adding the certificates to the auth-chain.
You have to get the issuer-certificate (CA) of your server-certificate in .pem-format and copy it to the certs-directory (PATH_TO_GIT\ssl\certs) with a hashed name.
Generate the hash like so:
Rename the CA-file to the output of the command and add ".0" as extension (e.g. 0dbd0096.0). This way openssl find the CA wich can be used to certify your server-certificate.
Find more information here: http://gagravarr.org/writing/openssl-certs/others.shtml#ca-openssl
Codeplex 和 SVN 既过时又缓慢。 这是对我有用的(不同的项目购买你明白的)
其中 42691 是存储库中最旧的变更集(或者你想要获取的最旧的变更集),而 HEAD 是……呃,头部。
我通过查看源代码页面中的历史记录选项卡。 这是最后一张了。
我尝试了 TortoiseGit 的各种设置,但它无法播放,命令行或半身像。
现在去泡杯茶或者烤个蛋糕吧,需要相当长的时间。
如果(在 Windows 上)您打开资源监视器并在“网络”下查找 perl.exe,并看到它正在与 svn.codeplex.com 通信,那么它正在工作。
Codeplex and SVN are as slow as they are archaic. Here is what worked for me (different project buy you get the idea)
where 42691 was the oldest changeset in the repo (or the oldest one you want to fetch) and HEAD is ...duh, the head.
I found the changeset number by looking at the history tab in the source code page. It's the last one.
I tried all sorts of settings with TortoiseGit but it wouldn't play, command line or bust.
Now go make a cup of tea or bake a cake, it will take quite some time.
If (on Windows) you open the Resource Monitor and look for perl.exe under "network" and see it is talking to svn.codeplex.com then it is working.
使用没有 ssl 的 http。
我使用从sourceforge https://xmlvm.svn.sourceforge.net/svnroot/xmlvm/< 获取/a>
遇到这个问题,我只需将 url 更改为 http://xmlvm.svn.sourceforge.net/ svnroot/xmlvm/
效果很好
use http without ssl.
I use fetch from sourceforge https://xmlvm.svn.sourceforge.net/svnroot/xmlvm/
encomes this issue,and I just change url to http://xmlvm.svn.sourceforge.net/svnroot/xmlvm/
It works fine