# HG changeset patch # User Gregory Szorc # Date 1534526109 0 # Node ID 136ed75bbe12b1e0d9310d069f45324ea6a85ed0 # Parent 484c9fe570a76ff9bbc5c0f475e9be5fe8c93a23 dagutil: remove descendantset() and ancestorset() descendantset() is unused after the previous commit. And ancestorset() was only used by descendantset(), so it can be removed as well. .. api:: descendantset() and ancestorset() removed from dagutil Use a revset instead when operating on the changelog. Or use various functionality in the ancestor or dagop modules. Differential Revision: https://phab.mercurial-scm.org/D4315 diff -r 484c9fe570a7 -r 136ed75bbe12 mercurial/dagutil.py --- a/mercurial/dagutil.py Fri Aug 17 17:13:26 2018 +0000 +++ b/mercurial/dagutil.py Fri Aug 17 17:15:09 2018 +0000 @@ -36,18 +36,6 @@ '''inverse DAG, where parents becomes children, etc.''' raise NotImplementedError - def ancestorset(self, starts, stops=None): - ''' - set of all ancestors of starts (incl), but stop walk at stops (excl) - ''' - raise NotImplementedError - - def descendantset(self, starts, stops=None): - ''' - set of all descendants of starts (incl), but stop walk at stops (excl) - ''' - return self.inverse().ancestorset(starts, stops) - def headsetofconnecteds(self, ixs): ''' subset of connected list of ixs so that no node has a descendant in it @@ -60,20 +48,6 @@ class genericdag(basedag): '''generic implementations for DAGs''' - def ancestorset(self, starts, stops=None): - if stops: - stops = set(stops) - else: - stops = set() - seen = set() - pending = list(starts) - while pending: - n = pending.pop() - if n not in seen and n not in stops: - seen.add(n) - pending.extend(self.parents(n)) - return seen - def headsetofconnecteds(self, ixs): hds = set(ixs) if not hds: @@ -128,26 +102,6 @@ self._inverse = inverserevlogdag(self) return self._inverse - def ancestorset(self, starts, stops=None): - rlog = self._revlog - idx = rlog.index - if stops: - stops = set(stops) - else: - stops = set() - seen = set() - pending = list(starts) - while pending: - rev = pending.pop() - if rev not in seen and rev not in stops: - seen.add(rev) - revdata = idx[rev] - for i in [5, 6]: - prev = revdata[i] - if prev != nullrev: - pending.append(prev) - return seen - def headsetofconnecteds(self, ixs): if not ixs: return set()