# HG changeset patch # User Thomas Arendsen Hein # Date 1176997962 -7200 # Node ID aed9e6dceb85f5d00b53c2c5e22ce5ede37af38b # Parent c3c53eb4461176588d75feed7beae1b7ed589957 Avoid float rounding errors when checking http protocol version. diff --git a/mercurial/httprepo.py b/mercurial/httprepo.py --- a/mercurial/httprepo.py +++ b/mercurial/httprepo.py @@ -280,11 +280,12 @@ class httprepository(remoterepository): if proto.startswith('application/mercurial-'): try: - version = float(proto[22:]) + version = proto.split('-', 1)[1] + version_info = tuple([int(n) for n in version.split('.')]) except ValueError: raise hg.RepoError(_("'%s' sent a broken Content-type " "header (%s)") % (self._url, proto)) - if version > 0.1: + if version_info > (0, 1): raise hg.RepoError(_("'%s' uses newer protocol %s") % (self._url, version))