--- a/hgext3rd/topic/stack.py Fri Sep 06 12:16:34 2019 +0700
+++ b/hgext3rd/topic/stack.py Fri Sep 06 12:53:46 2019 +0700
@@ -88,9 +88,6 @@
@util.propertycache
def _dependencies(self):
- return self.builddependencies()
-
- def builddependencies(self):
deps, rdeps = builddependencies(self._repo, self._revs)
repo = self._repo
@@ -146,8 +143,18 @@
# processed dependency graph.
# Step 1: compute relation of revision with each other
- dependencies, rdependencies = self.builddependencies()
- dependencies = dependencies.copy()
+ origdeps, rdependencies = self._dependencies
+ dependencies = {}
+ # Making a deep copy of origdeps because we modify contents of values
+ # later on. Checking for list here only because right now
+ # builddependencies in evolvebits.py can return a list of _succs()
+ # objects. When that will be dealt with, this deep copy code can be
+ # simplified a lot.
+ for k, v in origdeps.items():
+ if isinstance(v, list):
+ dependencies[k] = [i.copy() for i in v]
+ else:
+ dependencies[k] = v.copy()
rdependencies = rdependencies.copy()
# Step 2: Build the ordering
# Remove the revisions with no dependency(A) and add them to the ordering.