tests/fakemergerecord.py
author Mads Kiilerich <mads@kiilerich.com>
Thu, 18 Nov 2021 12:31:37 +0100
branchstable
changeset 48327 e35807332598
parent 44915 b7808443ed6a
child 48966 6000f5b25c9b
permissions -rw-r--r--
cext: fix Python 3.11 compatibility - Py_SIZE is not an lvalue (issue6610) Py_SIZE was made a static inline function during Python 3.10 development, as described on https://vstinner.github.io/c-api-opaque-structures.html . e92ca942ddca updated the Mercurial code base accordingly, but somehow missed a couple of cases introduced long time ago in a8c948ee3668. The Python change was dropped for 3.10, but is coming back again in 3.11 .
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
     1
# Extension to write out fake unsupported records into the merge state
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
     2
#
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
     3
#
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
     4
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
     5
from __future__ import absolute_import
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
     6
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
     7
from mercurial import (
44915
b7808443ed6a mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
     8
    mergestate as mergestatemod,
32376
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 29766
diff changeset
     9
    registrar,
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
    10
)
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
    11
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
    12
cmdtable = {}
32376
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 29766
diff changeset
    13
command = registrar.command(cmdtable)
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
    14
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    15
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    16
@command(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    17
    b'fakemergerecord',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    18
    [
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    19
        (b'X', b'mandatory', None, b'add a fake mandatory record'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    20
        (b'x', b'advisory', None, b'add a fake advisory record'),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    21
    ],
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    22
    '',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36510
diff changeset
    23
)
27027
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
    24
def fakemergerecord(ui, repo, *pats, **opts):
29766
b303b3817d0e fakemergerecord: take wlock to write the merge state
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27027
diff changeset
    25
    with repo.wlock():
44915
b7808443ed6a mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    26
        ms = mergestatemod.mergestate.read(repo)
29766
b303b3817d0e fakemergerecord: take wlock to write the merge state
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27027
diff changeset
    27
        records = ms._makerecords()
36510
4dc6f0905722 py3: backout changeset 56635c506608 which wrongly added couple of b''
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36222
diff changeset
    28
        if opts.get('mandatory'):
36211
8173eeb69fb3 tests: port fakemergerecord to python3
Augie Fackler <augie@google.com>
parents: 32376
diff changeset
    29
            records.append((b'X', b'mandatory record'))
36510
4dc6f0905722 py3: backout changeset 56635c506608 which wrongly added couple of b''
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36222
diff changeset
    30
        if opts.get('advisory'):
36211
8173eeb69fb3 tests: port fakemergerecord to python3
Augie Fackler <augie@google.com>
parents: 32376
diff changeset
    31
            records.append((b'x', b'advisory record'))
29766
b303b3817d0e fakemergerecord: take wlock to write the merge state
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27027
diff changeset
    32
        ms._writerecords(records)