changeset 39210:4cf3f54cc8e7

dagutil: remove unused classes We only directly use revlogdag in changegroup code. We don't need all this abstraction. So remove various classes and levels of inheritance. Differential Revision: https://phab.mercurial-scm.org/D4325
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 17 Aug 2018 19:24:36 +0000
parents fec01c69b0f0
children 274acf379dbb
files mercurial/dagutil.py
diffstat 1 files changed, 2 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/dagutil.py	Fri Aug 17 18:23:47 2018 +0000
+++ b/mercurial/dagutil.py	Fri Aug 17 19:24:36 2018 +0000
@@ -10,56 +10,11 @@
 
 from .node import nullrev
 
-class basedag(object):
-    '''generic interface for DAGs
-
-    terms:
-    "ix" (short for index) identifies a nodes internally,
-    "id" identifies one externally.
-
-    All params are ixs unless explicitly suffixed otherwise.
-    Pluralized params are lists or sets.
-    '''
-
-    def parents(self, ix):
-        '''list of parents ixs of ix'''
-        raise NotImplementedError
-
-    def headsetofconnecteds(self, ixs):
-        '''
-        subset of connected list of ixs so that no node has a descendant in it
-
-        By "connected list" we mean that if an ancestor and a descendant are in
-        the list, then so is at least one path connecting them.
-        '''
-        raise NotImplementedError
-
-class genericdag(basedag):
-    '''generic implementations for DAGs'''
-
-    def headsetofconnecteds(self, ixs):
-        hds = set(ixs)
-        if not hds:
-            return hds
-        for n in ixs:
-            for p in self.parents(n):
-                hds.discard(p)
-        assert hds
-        return hds
-
-
-class revlogbaseddag(basedag):
-    '''generic dag interface to a revlog'''
-
-    def __init__(self, revlog):
-        basedag.__init__(self)
-        self._revlog = revlog
-
-class revlogdag(revlogbaseddag):
+class revlogdag(object):
     '''dag interface to a revlog'''
 
     def __init__(self, revlog):
-        revlogbaseddag.__init__(self, revlog)
+        self._revlog = revlog
 
     def parents(self, ix):
         rlog = self._revlog