[PATCH 18 of 22] obsstore: make _all always calculate from _data
Jun Wu
quark at fb.com
Sun Jun 4 19:59:30 EDT 2017
# HG changeset patch
# User Jun Wu <quark at fb.com>
# Date 1496604924 25200
# Sun Jun 04 12:35:24 2017 -0700
# Node ID 2c2cbefde423ea2537270cf5fecdf5f5d14b19e5
# Parent df25a444c9f9f1b0860d782d6adceadd5cc810fd
# Available At https://bitbucket.org/quark-zju/hg-draft
# hg pull https://bitbucket.org/quark-zju/hg-draft -r 2c2cbefde423
obsstore: make _all always calculate from _data
Now we have more advanced caching on a lower level, let's make "_all"
read-only and always calculated from its source of truth ("_data").
diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py
--- a/mercurial/obsolete.py
+++ b/mercurial/obsolete.py
@@ -775,5 +775,5 @@ class obsstore(object):
return self._defaultformat
- @propertycache
+ @property
def _all(self):
markers, _offsets = self._readmarkers()
@@ -798,5 +798,4 @@ class obsstore(object):
markers = list(markers) # to allow repeated iteration
self._data = self._data + rawdata
- self._all.extend(markers)
for name in ('successors', 'precursors', 'children'):
index = self.__dict__.get(name, None)
More information about the Mercurial-devel
mailing list