# HG changeset patch # User Pierre-Yves David # Date 2017-06-27 00:06:15 # Node ID a14e2e7f7d1fa1aae957c85edb01af5c32787cd7 # Parent 4e30168d79390d2ac50b7c266d99396d291638bb obsutil: move 'getmarkers' to the new modules We have a new 'obsutil' module now. We move the high level utility there to bring 'obsolete.py' back to a more reasonable size. diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -1429,16 +1429,16 @@ def debugobsolete(ui, repo, precursor=No if opts['rev']: revs = scmutil.revrange(repo, opts['rev']) nodes = [repo[r].node() for r in revs] - markers = list(obsolete.getmarkers(repo, nodes=nodes, + markers = list(obsutil.getmarkers(repo, nodes=nodes, exclusive=opts['exclusive'])) markers.sort(key=lambda x: x._data) else: - markers = obsolete.getmarkers(repo) + markers = obsutil.getmarkers(repo) markerstoiter = markers isrelevant = lambda m: True if opts.get('rev') and opts.get('index'): - markerstoiter = obsolete.getmarkers(repo) + markerstoiter = obsutil.getmarkers(repo) markerset = set(markers) isrelevant = lambda m: m in markerset diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py --- a/mercurial/obsolete.py +++ b/mercurial/obsolete.py @@ -796,21 +796,6 @@ def pushmarker(repo, key, old, new): finally: lock.release() -def getmarkers(repo, nodes=None, exclusive=False): - """returns markers known in a repository - - If is specified, only markers "relevant" to those nodes are are - returned""" - if nodes is None: - rawmarkers = repo.obsstore - elif exclusive: - rawmarkers = obsutil.exclusivemarkers(repo, nodes) - else: - rawmarkers = repo.obsstore.relevantmarkers(nodes) - - for markerdata in rawmarkers: - yield obsutil.marker(repo, markerdata) - # keep compatibility for the 4.3 cycle def allprecursors(obsstore, nodes, ignoreflags=0): movemsg = 'obsolete.allprecursors moved to obsutil.allprecursors' @@ -827,6 +812,11 @@ def marker(repo, data): repo.ui.deprecwarn(movemsg, '4.3') return obsutil.marker(repo, data) +def getmarkers(repo, nodes=None, exclusive=False): + movemsg = 'obsolete.getmarkers moved to obsutil.getmarkers' + repo.ui.deprecwarn(movemsg, '4.3') + return obsutil.getmarkers(repo, nodes=nodes, exclusive=exclusive) + def exclusivemarkers(repo, nodes): movemsg = 'obsolete.exclusivemarkers moved to obsutil.exclusivemarkers' repo.ui.deprecwarn(movemsg, '4.3') diff --git a/mercurial/obsutil.py b/mercurial/obsutil.py --- a/mercurial/obsutil.py +++ b/mercurial/obsutil.py @@ -48,6 +48,21 @@ class marker(object): """The flags field of the marker""" return self._data[2] +def getmarkers(repo, nodes=None, exclusive=False): + """returns markers known in a repository + + If is specified, only markers "relevant" to those nodes are are + returned""" + if nodes is None: + rawmarkers = repo.obsstore + elif exclusive: + rawmarkers = exclusivemarkers(repo, nodes) + else: + rawmarkers = repo.obsstore.relevantmarkers(nodes) + + for markerdata in rawmarkers: + yield marker(repo, markerdata) + def closestpredecessors(repo, nodeid): """yield the list of next predecessors pointing on visible changectx nodes