我有一个大尺寸的克隆要推送到 Google 代码,并且在推送启动后需要很长时间才能显示身份验证对话框,那么 TortoiseHg 推送数据是否首先进行身份验证?
最佳答案
更新 :错误现在是 fixed 。
由 durin42 编辑 :它不是完全固定的。我们已经接近了,但在默认情况下重写之前我还有一些工作要做。我们正试图在转换上非常保守。 (截至 2012 年 1 月的准确状态,请观看 Mercurial 的发行说明以获取进一步更新。)
TL;DR:httplib 在这里基本上被破坏了,这导致了这个问题 hg。人们正在努力解决这个问题。
这是 urllib 和 httplib 工作方式的不幸副作用。 httplib/urllib 不会抢先发送授权,很遗憾。
好消息是正在进行的工作来解决这个问题,坏消息是它看起来基本上需要完全重写 httplib 才能使其达到合理的行为。特别是,httplib 是半双工的,无法查看传入的数据包(以检测早期响应),因此它必须先发送请求,然后才能获得摘要验证提示(假设使用摘要验证,是最好的选择)。一些服务器实现甚至在发出 401 Authorization Required 后关闭套接字,这实际上通过引发损坏的管道错误来完全破坏 httplib。我为 hg 1.4 中的那个问题提交了一个解决方法,但这只是用户烦恼的修复,而不是实际的性能解决方案。
关于mercurial - 为什么 Mercurial 在推送数据之前不进行身份验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1899659/