hgext3rd/evolve/compat.py
changeset 3575 97530d6e340d
parent 3560 f61a23a84dac
child 3611 c912eaf29eec
child 3616 f6d629514607
equal deleted inserted replaced
3574:8aba29d8b133 3575:97530d6e340d
     5 """
     5 """
     6 Compatibility module
     6 Compatibility module
     7 """
     7 """
     8 
     8 
     9 import inspect
     9 import inspect
       
    10 
       
    11 import functools
    10 
    12 
    11 from mercurial import (
    13 from mercurial import (
    12     copies,
    14     copies,
    13     context,
    15     context,
    14     hg,
    16     hg,
    52 eh = exthelper.exthelper()
    54 eh = exthelper.exthelper()
    53 
    55 
    54 # Wrap obsolete.creatmarkers and make it accept but ignore "operation" argument
    56 # Wrap obsolete.creatmarkers and make it accept but ignore "operation" argument
    55 # for hg < 4.3
    57 # for hg < 4.3
    56 createmarkers = obsolete.createmarkers
    58 createmarkers = obsolete.createmarkers
    57 if obsolete.createmarkers.__code__.co_argcount < 6:
    59 originalcreatemarkers = createmarkers
       
    60 while isinstance(originalcreatemarkers, functools.partial):
       
    61     originalcreatemarkers = originalcreatemarkers.func
       
    62 if originalcreatemarkers.__code__.co_argcount < 6:
    58     def createmarkers(repo, relations, flag=0, date=None, metadata=None,
    63     def createmarkers(repo, relations, flag=0, date=None, metadata=None,
    59                       operation=None):
    64                       operation=None):
    60         return obsolete.createmarkers(repo, relations, flag, date, metadata)
    65         return obsolete.createmarkers(repo, relations, flag, date, metadata)
    61 
    66 
    62 if not util.safehasattr(hg, '_copycache'):
    67 if not util.safehasattr(hg, '_copycache'):