view tests/fakemergerecord.py @ 48873:5aafc3c5bdec

py3: use io.BytesIO directly Previously, pycompat.bytesio and pycompat.stringio referred to io.BytesIO. And util.bytesio and util.stringio aliased the pycompat symbols. This commit switches everything to use io.BytesIO directly. util.bytesio and util.stringio still exist to provide backwards compatibility, as they were the preferred symbols. Differential Revision: https://phab.mercurial-scm.org/D12252
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 20 Feb 2022 15:03:26 -0700
parents b7808443ed6a
children 6000f5b25c9b
line wrap: on
line source

# Extension to write out fake unsupported records into the merge state
#
#

from __future__ import absolute_import

from mercurial import (
    mergestate as mergestatemod,
    registrar,
)

cmdtable = {}
command = registrar.command(cmdtable)


@command(
    b'fakemergerecord',
    [
        (b'X', b'mandatory', None, b'add a fake mandatory record'),
        (b'x', b'advisory', None, b'add a fake advisory record'),
    ],
    '',
)
def fakemergerecord(ui, repo, *pats, **opts):
    with repo.wlock():
        ms = mergestatemod.mergestate.read(repo)
        records = ms._makerecords()
        if opts.get('mandatory'):
            records.append((b'X', b'mandatory record'))
        if opts.get('advisory'):
            records.append((b'x', b'advisory record'))
        ms._writerecords(records)