Mercurial > evolve
changeset 4828:aaf8742e09a0 stable
stack: demonstrate that not reusing cached property gives different results
Instead of using self._dependencies, which is a cached property, let's get
fresh deps and rdeps in stack.revs method using a newly introduced
stack.builddependencies method (will be removed in the next patch).
This makes it easier to explain why the next patch is correct.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Fri, 06 Sep 2019 12:16:34 +0700 |
parents | efc76b1563f0 |
children | 6b82b4f72347 |
files | hgext3rd/topic/stack.py tests/test-topic-stack.t |
diffstat | 2 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/topic/stack.py Tue Sep 03 13:02:20 2019 +0700 +++ b/hgext3rd/topic/stack.py Fri Sep 06 12:16:34 2019 +0700 @@ -88,6 +88,9 @@ @util.propertycache def _dependencies(self): + return self.builddependencies() + + def builddependencies(self): deps, rdeps = builddependencies(self._repo, self._revs) repo = self._repo @@ -143,7 +146,7 @@ # processed dependency graph. # Step 1: compute relation of revision with each other - dependencies, rdependencies = self._dependencies + dependencies, rdependencies = self.builddependencies() dependencies = dependencies.copy() rdependencies = rdependencies.copy() # Step 2: Build the ordering
--- a/tests/test-topic-stack.t Tue Sep 03 13:02:20 2019 +0700 +++ b/tests/test-topic-stack.t Fri Sep 06 12:16:34 2019 +0700 @@ -794,7 +794,7 @@ $ hg stack red ### topic: red - ### target: default (branch), ambiguous rebase destination - topic 'red' has 3 heads + ### target: default (branch), 7 behind s5$ c_H (orphan) ^ c_G ^ c_D @@ -868,7 +868,7 @@ $ hg stack red ### topic: red - ### target: default (branch), ambiguous rebase destination - topic 'red' has 3 heads + ### target: default (branch), 7 behind s5$ c_H (orphan) ^ c_G ^ c_D