shelve: do not add the dirstate backup to the transaction
Otherwise the transaction will properly clean up its mess on abort… deleting the
backup in the process.
This break with dirstate-v2 that has more file than just the dirstate. The
dirstate itself is full of various exception and is "fine" when using
dirstate-v1.
# extension to emulate interrupting filemerge._filemerge
from mercurial import (
error,
extensions,
filemerge,
)
def failfilemerge(*args, **kwargs):
raise error.Abort(b"^C")
def extsetup(ui):
extensions.wrapfunction(filemerge, 'filemerge', failfilemerge)