# HG changeset patch # User Jun Wu <qu...@fb.com> # Date 1496603749 25200 # Sun Jun 04 12:15:49 2017 -0700 # Node ID 646ef5fdcf3750f40cb3cf1c710c0222aef24beb # Parent 0843176578415e36470485ac48056952e460efc1 # Available At https://bitbucket.org/quark-zju/hg-draft # hg pull https://bitbucket.org/quark-zju/hg-draft -r 646ef5fdcf37 obsstore: use new _readmarkers when building index
Instead of reading obssotre._all (parsed markers), read obssotre._data (raw data) instead. This will allow us to eventually skip parsing markers. diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py --- a/mercurial/obsolete.py +++ b/mercurial/obsolete.py @@ -540,12 +540,14 @@ class markerindex(dict): def update(self): """read latest obsstore and build index for its markers""" - allmarkers = self._obsstore._all + data = self._obsstore._data + if len(data) == self.sourceoftruthsize: + return keyfunc = self._keyfunc setdefault = self.setdefault - for i in xrange(self.sourceoftruthsize, len(allmarkers)): - marker = allmarkers[i] + markers, offsets = self._obsstore._readmarkers(self.sourceoftruthsize) + for marker in markers: for k in keyfunc(marker): setdefault(k, set()).add(marker) - self.sourceoftruthsize = len(allmarkers) + self.sourceoftruthsize = len(data) class markerreader(object): _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel