[PATCH 1 of 1 stable resend] hgweb: handle exception of misconfigured path on index page

Yuya Nishihara yuya at tcha.org
Wed Aug 25 09:11:43 CDT 2010


Mads Kiilerich wrote:
>   Yuya Nishihara wrote, On 08/24/2010 04:47 PM:
> > # HG changeset patch
> > # User Yuya Nishihara<yuya at tcha.org>
> > # Date 1282660251 -32400
> > # Branch stable
> > # Node ID 72c2c888d23eb3ca92bdaf81cb697581adc60ce1
> > # Parent  b20211b307b39ed2dbfbe992d94d0f1a24e63e13
> > hgweb: handle exception of misconfigured path on index page
> >
> > If hgweb.config contains wrong path mapping, hgweb causes internal server
> > error on repository index page.
> >
> > This patch changes makeindex() to ignore RepoError, because it looks to be
> > designed to suppress configuration error.
> >
> > diff --git a/mercurial/hgweb/hgwebdir_mod.py b/mercurial/hgweb/hgwebdir_mod.py
> > --- a/mercurial/hgweb/hgwebdir_mod.py
> > +++ b/mercurial/hgweb/hgwebdir_mod.py
> > @@ -233,6 +233,10 @@ class hgwebdir(object):
> >                   # update time with local timezone
> >                   try:
> >                       r = hg.repository(self.ui, path)
> > +                except error.RepoError:
> > +                    u.warn(_('error accessing repository at %s\n') % path)
> > +                    continue
...
> The warning don't show up in the test output? That makes me wonder if 
> u.warn really is the right method to use?

It looks 'hg serve --daemon' supresses the whole stdout/err output.
'hg serve' (without --daemon) or hgwebdir.cgi can report it.

> It could be argued that a crash is more friendly to the system 
> administrator than silently ignoring errors.

It depends. In this case, I prefer not to destroy whole index page
just for a partial problem.

Yuya,


More information about the Mercurial-devel mailing list