Mercurial > hg-stable
diff hgext/convert/subversion.py @ 9838:2e51cc30fc30
convert/svn: fix HTTP detection bug introduced by 1b2516a547d4
The probe expected response is a 404 with content, and while urllib returns the
response body in this case, urllib2 raises an HTTP error.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Thu, 12 Nov 2009 12:05:43 +0100 |
parents | 1b2516a547d4 |
children | 9c43089b372a |
line wrap: on
line diff
--- a/hgext/convert/subversion.py Wed Nov 11 22:53:01 2009 +0100 +++ b/hgext/convert/subversion.py Thu Nov 12 12:05:43 2009 +0100 @@ -150,17 +150,18 @@ try: opener = urllib2.build_opener() rsp = opener.open('%s://%s/!svn/ver/0/.svn' % (proto, path)) - return '<m:human-readable errcode="160013">' in rsp.read() + data = rsp.read() except urllib2.HTTPError, inst: - if inst.code == 404: - return False - # Except for 404 we cannot know for sure this is not an svn repo - ui.warn(_('svn: cannot probe remote repository, assume it could be ' - 'a subversion repository. Use --source if you know better.\n')) - return True + if inst.code != 404: + # Except for 404 we cannot know for sure this is not an svn repo + ui.warn(_('svn: cannot probe remote repository, assume it could be ' + 'a subversion repository. Use --source if you know better.\n')) + return True + data = inst.fp.read() except: # Could be urllib2.URLError if the URL is invalid or anything else. return False + return '<m:human-readable errcode="160013">' in data protomap = {'http': httpcheck, 'https': httpcheck,