Mercurial > hg
view tests/hgweberror.py @ 39333:5d343a24bff5
revlogdeltas: always return a delta info object in finddeltainfo
Previously, the method returned `None` when a full snapshot was needed. The
caller had to determine how to produce one itself.
In practice, building a `_deltainfo` object for a full snapshot is simple. So
we build it at the `finddeltainfo` level and always return a `_deltainfo`
object.
The caller can now simply process the `_deltainfo` return in all cases.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 16 Aug 2018 04:38:57 +0200 |
parents | 4daa22071d5d |
children | 0199fb5dde20 |
line wrap: on
line source
# A dummy extension that installs an hgweb command that throws an Exception. from __future__ import absolute_import from mercurial.hgweb import ( webcommands, ) def raiseerror(web): '''Dummy web command that raises an uncaught Exception.''' # Simulate an error after partial response. if 'partialresponse' in web.req.qsparams: web.res.status = b'200 Script output follows' web.res.headers[b'Content-Type'] = b'text/plain' web.res.setbodywillwrite() list(web.res.sendresponse()) web.res.getbodyfile().write(b'partial content\n') raise AttributeError('I am an uncaught error!') def extsetup(ui): setattr(webcommands, 'raiseerror', raiseerror) webcommands.__all__.append('raiseerror')