Mercurial > hg
changeset 9748:67e5d5a2f625
Sometimes pushing to an HTTP repo fails with a useless message.
abort: 'https://.../.../' does not appear to be an hg repository!
Ought to produce a better diagnostics on the client. With patched 1.3.1,
observed to produce an Apache HTML error message (from cgitb) including the
vital text:
File ".../hgwebdir.cgi", line 70, in ?
wsgicgi.launch(application)
File "mercurial/hgweb/wsgicgi.py", line 68, in launch
File "mercurial/hgweb/hgwebdir_mod.py", line 91, in __call__
File "mercurial/hgweb/hgwebdir_mod.py", line 148, in run_wsgi
File "mercurial/hgweb/hgweb_mod.py", line 100, in run_wsgi
File "mercurial/hgweb/protocol.py", line 156, in unbundle
File "mercurial/localrepo.py", line 2031, in addchangegroup
File "mercurial/revlog.py", line 1204, in addgroup
LookupError: 00manifest.i@......: unknown parent
Might also be helpful if server's hgweb_mod.run_wsgi caught unexpected errors
and returned a well-formed error response including the stack trace. The client
patch would still be useful in this case, because it would let you diagnose
issues with HTTP proxy servers and so on.
author | Jesse Glick <jesse.glick@sun.com> |
---|---|
date | Sat, 17 Oct 2009 14:00:41 -0400 |
parents | 85a3285860d3 |
children | 1b1b33ae5a24 |
files | mercurial/httprepo.py |
diffstat | 1 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/httprepo.py Mon Oct 26 02:06:23 2009 +0200 +++ b/mercurial/httprepo.py Sat Oct 17 14:00:41 2009 -0400 @@ -106,8 +106,9 @@ proto.startswith('text/plain') or proto.startswith('application/hg-changegroup')): self.ui.debug("requested URL: '%s'\n" % url.hidepassword(cu)) - raise error.RepoError(_("'%s' does not appear to be an hg repository") - % safeurl) + raise error.RepoError(_("'%s' does not appear to be an hg repository:\n" + "---%%<--- (%s)\n%s\n---%%<---\n") + % (safeurl, proto, resp.read())) if proto.startswith('application/mercurial-'): try: