sapling/tests/fakemergerecord.py
Siddharth Agarwal 4a78a436f9 mergestate: handle additional record types specially
This works around a bug in older Mercurial versions' handling of the v2 merge
state.

We also add a bunch of tests that make sure that
(1) we correctly abort when the merge state has an unsupported record type
(2) aborting the merge, rebase or histedit continues to work and clears out the
    merge state.
2015-11-18 15:46:45 -08:00

26 lines
686 B
Python

# Extension to write out fake unsupported records into the merge state
#
#
from __future__ import absolute_import
from mercurial import (
cmdutil,
merge,
)
cmdtable = {}
command = cmdutil.command(cmdtable)
@command('fakemergerecord',
[('X', 'mandatory', None, 'add a fake mandatory record'),
('x', 'advisory', None, 'add a fake advisory record')], '')
def fakemergerecord(ui, repo, *pats, **opts):
ms = merge.mergestate.read(repo)
records = ms._makerecords()
if opts.get('mandatory'):
records.append(('X', 'mandatory record'))
if opts.get('advisory'):
records.append(('x', 'advisory record'))
ms._writerecords(records)