# HG changeset patch # User Thomas Arendsen Hein # Date 2006-05-16 07:35:38 # Node ID ce67fa312f61d21a1a1686971eb989ce496cf604 # Parent 3dc6f2501dbc03bab8606e06cae1912544679cdc Catch urllib's HTTPException and give a meaningful error message to the user. Usually urllib only throws HTTPError exceptions, which already are a subclass of IOError. diff --git a/mercurial/httprepo.py b/mercurial/httprepo.py --- a/mercurial/httprepo.py +++ b/mercurial/httprepo.py @@ -103,7 +103,10 @@ class httprepository(remoterepository): q.update(args) qs = urllib.urlencode(q) cu = "%s?%s" % (self.url, qs) - resp = urllib2.urlopen(cu) + try: + resp = urllib2.urlopen(cu) + except httplib.HTTPException, inst: + raise IOError(None, _('http error while sending %s command') % cmd) proto = resp.headers['content-type'] # accept old "text/plain" and "application/hg-changegroup" for now