Mercurial > hg
changeset 39182:d39b1f7e5dcf
dagutil: remove module
The previous commit removed the last consumer of this module.
.. api:: dagutil module has been removed
Some functionality has been moved to the dagop module. Other
functionality can be accomplished via revsets.
Differential Revision: https://phab.mercurial-scm.org/D4330
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 17 Aug 2018 21:26:34 +0000 |
parents | 0a934ee94f09 |
children | 7a111168659e |
files | mercurial/dagutil.py |
diffstat | 1 files changed, 0 insertions(+), 49 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/dagutil.py Fri Aug 17 21:21:50 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -# dagutil.py - dag utilities for mercurial -# -# Copyright 2010 Benoit Boissinot <bboissin@gmail.com> -# and Peter Arrenbrecht <peter@arrenbrecht.ch> -# -# This software may be used and distributed according to the terms of the -# GNU General Public License version 2 or any later version. - -from __future__ import absolute_import - -from .node import nullrev - -from . import ( - dagop, -) - -class revlogdag(object): - '''dag interface to a revlog''' - - def __init__(self, revlog): - self._revlog = revlog - - def linearize(self, ixs): - '''linearize and topologically sort a list of revisions - - The linearization process tries to create long runs of revs where - a child rev comes immediately after its first parent. This is done by - visiting the heads of the given revs in inverse topological order, - and for each visited rev, visiting its second parent, then its first - parent, then adding the rev itself to the output list. - ''' - sorted = [] - visit = list(dagop.headrevs(ixs, self._revlog.parentrevs)) - visit.sort(reverse=True) - finished = set() - - while visit: - cur = visit.pop() - if cur < 0: - cur = -cur - 1 - if cur not in finished: - sorted.append(cur) - finished.add(cur) - else: - visit.append(-cur - 1) - visit += [p for p in self._revlog.parentrevs(cur) - if p != nullrev and p in ixs and p not in finished] - assert len(sorted) == len(ixs) - return sorted