Mercurial > hg
view tests/hgweberror.py @ 27183:0945539a3a6b
extdiff: correctly handle deleted subrepositories (issue3153)
Previously, when extdiff was called on two changesets where
a subrepository had been removed, an unexpected KeyError would
be raised.
Now, the missing subrepository will be ignored. This behavior
mirrors the behavior in diffordiffstat from cmdutil.py line
~1138-1153. The KeyError is caught and the revision is
set to None.
try/catch of LookupError around matchmod.narrowmatcher and
sub.status is removed, as LookupError is not raised anywhere
within those methods or deeper calls.
author | Andrew Zwicky <andrew.zwicky@gmail.com> |
---|---|
date | Tue, 17 Nov 2015 16:42:52 -0600 |
parents | dc4d2cd3aa3e |
children | 74e6de99ce7f |
line wrap: on
line source
# A dummy extension that installs an hgweb command that throws an Exception. from mercurial.hgweb import webcommands def raiseerror(web, req, tmpl): '''Dummy web command that raises an uncaught Exception.''' # Simulate an error after partial response. if 'partialresponse' in req.form: req.respond(200, 'text/plain') req.write('partial content\n') raise AttributeError('I am an uncaught error!') def extsetup(ui): setattr(webcommands, 'raiseerror', raiseerror) webcommands.__all__.append('raiseerror')