hgext3rd/topic/compat.py
branchstable
changeset 3094 e11e018e8338
parent 3064 7a1a4d1f0958
child 3560 f61a23a84dac
equal deleted inserted replaced
3093:9c04bd928056 3094:e11e018e8338
     5 """
     5 """
     6 Compatibility module
     6 Compatibility module
     7 """
     7 """
     8 from __future__ import absolute_import
     8 from __future__ import absolute_import
     9 
     9 
    10 from mercurial import obsolete
    10 from mercurial import (
       
    11     obsolete,
       
    12     scmutil,
       
    13     util,
       
    14 )
    11 
    15 
    12 getmarkers = None
    16 getmarkers = None
    13 successorssets = None
    17 successorssets = None
    14 try:
    18 try:
    15     from mercurial import obsutil
    19     from mercurial import obsutil
    27     """function to start a pager in case ui.pager() exists"""
    31     """function to start a pager in case ui.pager() exists"""
    28     try:
    32     try:
    29         ui.pager(cmd)
    33         ui.pager(cmd)
    30     except AttributeError:
    34     except AttributeError:
    31         pass
    35         pass
       
    36 
       
    37 def cleanupnodes(repo, replacements, operation, moves=None):
       
    38     # create obsmarkers and move bookmarks
       
    39     # XXX we should be creating marker as we go instead of only at the end,
       
    40     # this makes the operations more modulars
       
    41     if util.safehasattr(scmutil, 'cleanupnodes'):
       
    42         scmutil.cleanupnodes(repo, replacements, 'changetopics',
       
    43                              moves=moves)
       
    44     else:
       
    45         relations = [(repo[o], tuple(repo[n] for n in new))
       
    46                      for (o, new) in replacements.iteritems()]
       
    47         obsolete.createmarkers(repo, relations)