我正在使用Google代码和Mercurial进行小型项目javaclass-rb。我使用HTTPS克隆了存储库。我的.hg/hgrc
包含
[paths]
default = https://javaclass-rb.googlecode.com/hg/
Google Code有时会有不同的指纹(最有可能是服务群集)。当我想拉(用hg 1.8.4)时,我得到了
E:\Develop\JavaClass>hg pull -u
abort: invalid certificate for javaclass-rb.googlecode.com with fingerprint 28:92:6b:9b:40:10:cc:0e:4c:16:a4:78:7f:bb:1a:8d:d4:d1:d3:27
然后我必须更改我的~/.hgrc
文件并更新hostfingerprints
部分以包含新指纹:
[hostfingerprints]
javaclass-rb.googlecode.com = 28:92:6b:9b:40:10:cc:0e:4c:16:a4:78:7f:bb:1a:8d:d4:d1:d3:27
然后一切正常,直到下一次。现在这很烦人,因为我已经做了十次,大约。每月一次,必须在几台机器(台式机,笔记本电脑,工作电脑等)上进行...
34:4b:90:e7:e3:36:81:0d:52:1f:10:c0:4c:98:66:90:4a:9e:05:c9
6e:a8:09:6a:42:60:d7:81:f7:04:b8:0f:5d:1e:ac:b3:58:db:7e:da
89:6d:fb:e5:4a:7e:72:91:db:0b:ee:72:9f:60:a7:29:65:fd:e1:10
da:b3:df:aa:55:73:ac:65:04:70:78:8e:ed:dd:a9:be:40:a8:64:81
a9:be:c0:4a:da:1c:eb:4c:31:9d:78:27:48:99:f4:9c:9a:e8:53:c8
ed:19:7c:b9:a3:48:27:93:72:74:43:db:26:40:af:e0:7a:90:1c:97
28:92:6b:9b:40:10:cc:0e:4c:16:a4:78:7f:bb:1a:8d:d4:d1:d3:27
你知道一种方法来配置Mercurial忽略指纹或其他方式我摆脱这种烦恼吗?
答案
tonfa带领我走上正轨。 Mercurial是checking also OS certificates。最初我不得不回到指纹,因为Googlecode证书对子域名无效:The certificate is only valid for the following names:
*.googlecode.com , *.u.googlecode.com , googlecode.com , *.codespot.com , *.googlesource.com , googlesource.com
1)我从.hgrc
移除了指纹,然后顶级域javaclass-rb.googlecode.com
再次工作,因为它与*.googlecode.com
匹配。
2)必须使用其他名称克隆子域名,请参阅Google support。
答案 0 :(得分:4)
忽略指纹而不验证签名是一个非常坏主意。
您应该按照https://www.mercurial-scm.org/wiki/CACertificates上的说明进行操作(基本上已经正确配置了TortoiseHg的最新版本)。
答案 1 :(得分:0)
尝试命令hg pull --insecure
。