我有一个大尺寸的克隆要推送到Google Code,并且在推送启动后验证对话框需要很长时间才能显示,TortoiseHg推送数据首先验证第二个吗?
答案 0 :(得分:3)
更新:错误现在是fixed。
由durin42编辑:它不是完全修复的。我们很接近,但在重写默认情况下,我还有一些工作要做。我们试图通过转换保持真正的保守态度。 (截至2012年1月的准确状态,观看Mercurial的发布说明以获得进一步更新。)
TL; DR:httplib在这里基本上被破坏了,这导致了这个问题hg。人们正在努力解决这个问题。
这是urllib和httplib工作方式的不幸副作用。 httplib / urllib不会抢先发送授权,这是不幸的。
好消息是,目前正在努力解决这个问题,坏消息是看起来它基本上需要完全重写httplib以使其达到合理的行为。特别是,httplib是半双工的,并且无法查看传入的数据包(以检测早期响应),因此它必须先发送请求才能获得摘要身份验证提示(假设使用摘要身份验证,是最好的选择)。一些服务器实现甚至在发出401 Authorization Required后关闭套接字,这实际上通过引发损坏的管道错误完全破坏了httplib。我提交了针对该问题的解决方法,该问题在hg 1.4中,但它只是一个用户烦恼修复,而不是实际的性能解决方案。
答案 1 :(得分:0)
我希望它会收集服务器的变更集列表,因此它知道服务器上没有出现哪些本地变更集,因此需要进行转移。基本上相当于hg outgoing
。只有在确定了要推送的变更集之后,才需要编写任何内容(如果没有差异,则可能不会写入),因此在实际需要之前不会进行身份验证。