debugrebuilddirstate: double check that no transaction is open
Since transaction impact dirstate write, we make sure nobody is trying anything
strange with this internal command.
from mercurial.i18n import _
from mercurial import changegroup, error, extensions
def abort(orig, *args, **kwargs):
raise error.Abort(_('this is an exercise'))
def uisetup(ui):
extensions.wrapfunction(changegroup, 'getbundler', abort)