tests/fakedirstatewritetime.py
changeset 36324 ac04f17b7041
parent 34771 28b7034a916a
child 36327 58c1368ab629
equal deleted inserted replaced
36323:920bbfb686da 36324:ac04f17b7041
    17 )
    17 )
    18 
    18 
    19 configtable = {}
    19 configtable = {}
    20 configitem = registrar.configitem(configtable)
    20 configitem = registrar.configitem(configtable)
    21 
    21 
    22 configitem('fakedirstatewritetime', 'fakenow',
    22 configitem(b'fakedirstatewritetime', b'fakenow',
    23     default=None,
    23     default=None,
    24 )
    24 )
    25 
    25 
    26 parsers = policy.importmod(r'parsers')
    26 parsers = policy.importmod(r'parsers')
    27 
    27 
    37     return orig(dmap, copymap, pl, fakenow)
    37     return orig(dmap, copymap, pl, fakenow)
    38 
    38 
    39 def fakewrite(ui, func):
    39 def fakewrite(ui, func):
    40     # fake "now" of 'pack_dirstate' only if it is invoked while 'func'
    40     # fake "now" of 'pack_dirstate' only if it is invoked while 'func'
    41 
    41 
    42     fakenow = ui.config('fakedirstatewritetime', 'fakenow')
    42     fakenow = ui.config(b'fakedirstatewritetime', b'fakenow')
    43     if not fakenow:
    43     if not fakenow:
    44         # Execute original one, if fakenow isn't configured. This is
    44         # Execute original one, if fakenow isn't configured. This is
    45         # useful to prevent subrepos from executing replaced one,
    45         # useful to prevent subrepos from executing replaced one,
    46         # because replacing 'parsers.pack_dirstate' is also effective
    46         # because replacing 'parsers.pack_dirstate' is also effective
    47         # in subrepos.
    47         # in subrepos.
    48         return func()
    48         return func()
    49 
    49 
    50     # parsing 'fakenow' in YYYYmmddHHMM format makes comparison between
    50     # parsing 'fakenow' in YYYYmmddHHMM format makes comparison between
    51     # 'fakenow' value and 'touch -t YYYYmmddHHMM' argument easy
    51     # 'fakenow' value and 'touch -t YYYYmmddHHMM' argument easy
    52     fakenow = util.parsedate(fakenow, ['%Y%m%d%H%M'])[0]
    52     fakenow = util.parsedate(fakenow, [b'%Y%m%d%H%M'])[0]
    53 
    53 
    54     orig_pack_dirstate = parsers.pack_dirstate
    54     orig_pack_dirstate = parsers.pack_dirstate
    55     orig_dirstate_getfsnow = dirstate._getfsnow
    55     orig_dirstate_getfsnow = dirstate._getfsnow
    56     wrapper = lambda *args: pack_dirstate(fakenow, orig_pack_dirstate, *args)
    56     wrapper = lambda *args: pack_dirstate(fakenow, orig_pack_dirstate, *args)
    57 
    57