Mercurial Certificate Warning 解决方法

这是在Mercurial 1.7.3里新增加的一个功能,如果没有配置CA就会被警告:

Mercurial Certificate Warning: Certificate not verified web.cacerts

这个警告本身并不会影响使用,可以忽视。

这里提一下在Mac OS X 10.6上的解决方法,其余系统大致类同,可以参照CA Certificates

产生一张自签名证书(内容随意)

openssl req -new -x509 -extensions v3_ca -keyout /dev/null -out dummycert.pem -days 3650

将其复制到某个目录中存放

sudo cp dummycert.pem /etc/hg-dummy-cert.pem

设置Mercurial的配置文件,加入刚才的

[web]
cacerts = /etc/hg-dummy-cert.pem

这样操作之后在下次使用Mercurial就不会收到这个警告啦。

注意,千万别偷懒在网上下载别人生成好的自签名证书,因为私钥在他们手中,这是极其不安全滴,所以还是老老实实运行一下上面的命令自己生成吧。
-EOF-

关于浏览器支持localStorage的统计

注:+该版本及该本以上,-该版本以下,不包含该版本
主要测试以下三种存储方案的支持程度:
localStorage: false
userdata: false
globalStorage: false

Chrome4+ 开始支持localStorage

Firefox3.5+开始支持localStorage
Firefox1.5+支持globalStorage

IE8+支持localStorage
IE7兼容模式支持localStorage
IE5.5+支持userdata

Safari 4+ 支持localStorage
Opera10.5+支持localStorage

Netscape Navigator最后一版(9.0.0.6)支持localStorage,其余版本未测

———————- 我是分割线 ——————————-
因此,拟使用localStorage来作为前端存储主干方案,退化策略如下:
采用特性探测,按如下顺序提供存储支持:
localStorage
globalStorage
userdata
Cookie
Cookie也可能被禁用,如果都不支持,那就只有抱歉了,这种情况下网站也登录不了滴。

其它可以采用的扩展存储方法:
Google Gears
SWF

另外,临时会话存储sessionStorage尚未正式测试过,支持的浏览器不多。可以考虑作为扩展方案,备用方案可采用window.name,但数据量有限,待评估。

以上数据供参考,欢迎有更了解的同学提意见和建议。

update:
使用userdata会使getAttribute被重写,需要做兼容处理,务必小心使用。
-EOF-