tests/fakepatchtime.py
changeset 43076 2372284d9457
parent 36636 c6061cadb400
child 45957 89a2afe31e82
equal deleted inserted replaced
43075:57875cf423c9 43076:2372284d9457
    11 from mercurial.utils import dateutil
    11 from mercurial.utils import dateutil
    12 
    12 
    13 configtable = {}
    13 configtable = {}
    14 configitem = registrar.configitem(configtable)
    14 configitem = registrar.configitem(configtable)
    15 
    15 
    16 configitem(b'fakepatchtime', b'fakenow',
    16 configitem(
    17     default=None,
    17     b'fakepatchtime', b'fakenow', default=None,
    18 )
    18 )
    19 
    19 
    20 def internalpatch(orig, ui, repo, patchobj, strip,
    20 
    21                   prefix=b'', files=None,
    21 def internalpatch(
    22                   eolmode=b'strict', similarity=0):
    22     orig,
       
    23     ui,
       
    24     repo,
       
    25     patchobj,
       
    26     strip,
       
    27     prefix=b'',
       
    28     files=None,
       
    29     eolmode=b'strict',
       
    30     similarity=0,
       
    31 ):
    23     if files is None:
    32     if files is None:
    24         files = set()
    33         files = set()
    25     r = orig(ui, repo, patchobj, strip,
    34     r = orig(
    26              prefix=prefix, files=files,
    35         ui,
    27              eolmode=eolmode, similarity=similarity)
    36         repo,
       
    37         patchobj,
       
    38         strip,
       
    39         prefix=prefix,
       
    40         files=files,
       
    41         eolmode=eolmode,
       
    42         similarity=similarity,
       
    43     )
    28 
    44 
    29     fakenow = ui.config(b'fakepatchtime', b'fakenow')
    45     fakenow = ui.config(b'fakepatchtime', b'fakenow')
    30     if fakenow:
    46     if fakenow:
    31         # parsing 'fakenow' in YYYYmmddHHMM format makes comparison between
    47         # parsing 'fakenow' in YYYYmmddHHMM format makes comparison between
    32         # 'fakenow' value and 'touch -t YYYYmmddHHMM' argument easy
    48         # 'fakenow' value and 'touch -t YYYYmmddHHMM' argument easy
    34         for f in files:
    50         for f in files:
    35             repo.wvfs.utime(f, (fakenow, fakenow))
    51             repo.wvfs.utime(f, (fakenow, fakenow))
    36 
    52 
    37     return r
    53     return r
    38 
    54 
       
    55 
    39 def extsetup(ui):
    56 def extsetup(ui):
    40     extensions.wrapfunction(patchmod, 'internalpatch', internalpatch)
    57     extensions.wrapfunction(patchmod, 'internalpatch', internalpatch)