##// END OF EJS Templates
rebase: clean up rebasestate from active transaction...
rebase: clean up rebasestate from active transaction Previously, rebase assumes the following pattern: rebase: with transaction as tr: # top-level ... tr.__close__ writes rebasestate unlink('rebasestate') However it's possible that "rebase" was called inside a transaction: with transaction as tr1: rebase: with transaction as tr2: # not top-level ... tr2.__close__ does not write rebasestate unlink('rebasestate') tr1.__close__ writes rebasestate That leaves a rebasestate on disk incorrectly. This patch adds "removefilegenerator" to notify transaction code that the state file is no longer needed therefore fixes the issue.

File last commit:

r27299:74e6de99 default
r33056:2312e70c default
Show More
hgweberror.py
21 lines | 596 B | text/x-python | PythonLexer
Gregory Szorc
hgweb: send proper HTTP response after uncaught exception...
r23409 # A dummy extension that installs an hgweb command that throws an Exception.
Gregory Szorc
tests: use absolute_import in hgweberror.py
r27299 from __future__ import absolute_import
from mercurial.hgweb import (
webcommands,
)
Gregory Szorc
hgweb: send proper HTTP response after uncaught exception...
r23409
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')