Mercurial > hg
view tests/fakemergerecord.py @ 39991:77492c10a35b
cext: use modern buffer protocol in patches()
PyObject_AsCharBuffer() is part of the "Old Buffer Protocol," which
has been deprecated for years. Let's port away from it.
PyBuffer_GetBuffer() must be paired with PyBuffer_Release(), hence the
added "goto cleanup" in a failure case.
We don't bump the extension version because the API has not changed.
Differential Revision: https://phab.mercurial-scm.org/D4840
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 02 Oct 2018 13:13:03 -0700 |
parents | 4dc6f0905722 |
children | 2372284d9457 |
line wrap: on
line source
# Extension to write out fake unsupported records into the merge state # # from __future__ import absolute_import from mercurial import ( merge, 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 = merge.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)