changeset 11415:a1e575b48563

http push: break infinite recursion on failure with Python 2.6.5 (issue2179) Python 2.6.5 will keep resetting the retry count on redirects, for example when the server returns 401 on failing auth (like google code currently does). We stop the endless recursion by not resetting the count. http://bugs.python.org/issue3819 introduced the regression with Python 2.6.5. http://bugs.python.org/issue8797 discusses a fix which might make it to 2.6.6 and 2.7.0.
author Mads Kiilerich <mads@kiilerich.com>
date Wed, 16 Jun 2010 22:54:58 +0200
parents 0fa4474bdc2f
children caf10970950e
files mercurial/url.py
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/url.py	Sun Jun 20 01:20:12 2010 +0900
+++ b/mercurial/url.py	Wed Jun 16 22:54:58 2010 +0200
@@ -556,6 +556,13 @@
                 return
             raise
 
+    # Python 2.6.5 will keep resetting the retry count on redirects, for
+    # example when the server returns 401 on failing auth (like google code
+    # currently does). We stop the endless recursion by not resetting the
+    # count.
+    def reset_retry_count(self):
+        pass
+
 def getauthinfo(path):
     scheme, netloc, urlpath, query, frag = urlparse.urlsplit(path)
     if not urlpath: