tests/fakemergerecord.py
author Matt Harbison <matt_harbison@yahoo.com>
Fri, 06 Dec 2019 20:40:02 -0500
changeset 44009 e685fac56693
parent 43076 2372284d9457
child 44856 b7808443ed6a
permissions -rw-r--r--
match: resolve filesets against the passed `cwd`, not the current one This allows filesets to be resolved relative to `repo.root`, the same as other patterns are since f02d3c0eed18. The current example in contrib/ wasn't working from the tests directory because of this. Differential Revision: https://phab.mercurial-scm.org/D7570
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 (
a01ecbcfaf84 mergestate: handle additional record types specially
Siddharth Agarwal <sid0@fb.com>
parents:
diff changeset
     8
    merge,
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 29754
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 = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 29754
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: 36480
diff changeset
    15
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36480
diff changeset
    16
@command(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36480
diff changeset
    17
    b'fakemergerecord',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36480
diff changeset
    18
    [
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36480
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: 36480
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: 36480
diff changeset
    21
    ],
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36480
diff changeset
    22
    '',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36480
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):
29754
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():
b303b3817d0e fakemergerecord: take wlock to write the merge state
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 27027
diff changeset
    26
        ms = merge.mergestate.read(repo)
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()
36480
4dc6f0905722 py3: backout changeset 56635c506608 which wrongly added couple of b''
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36184
diff changeset
    28
        if opts.get('mandatory'):
36173
8173eeb69fb3 tests: port fakemergerecord to python3
Augie Fackler <augie@google.com>
parents: 32337
diff changeset
    29
            records.append((b'X', b'mandatory record'))
36480
4dc6f0905722 py3: backout changeset 56635c506608 which wrongly added couple of b''
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36184
diff changeset
    30
        if opts.get('advisory'):
36173
8173eeb69fb3 tests: port fakemergerecord to python3
Augie Fackler <augie@google.com>
parents: 32337
diff changeset
    31
            records.append((b'x', b'advisory record'))
29754
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)