[PATCH 3 of 6] revbranchcache: move entry writing to a separate function
Durham Goode
durham at fb.com
Mon Mar 16 22:36:15 CDT 2015
# HG changeset patch
# User Durham Goode <durham at fb.com>
# Date 1423627268 28800
# Tue Feb 10 20:01:08 2015 -0800
# Node ID 8e61a4ec3f3d7d6af1ac5d31094c69173862f972
# Parent 99e73b9195b1d8bcb3d191db7aa430fd6f70fdcd
revbranchcache: move entry writing to a separate function
This moves the actual writing of entries to the cache to a separate function.
This will allow us to use it in multiple places. Ex: in one place we will write
dummy entries, and in another place we will write real data.
diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
--- a/mercurial/branchmap.py
+++ b/mercurial/branchmap.py
@@ -399,11 +399,15 @@ class revbranchcache(object):
reponode = changelog.node(rev)
if close:
branchidx |= _rbccloseflag
+ self._setcachedata(rev, reponode, branchidx)
+ return b, close
+
+ def _setcachedata(self, rev, node, branchidx):
+ """Writes the node's branch data to the in-memory cache data."""
rbcrevidx = rev * _rbcrecsize
rec = array('c')
- rec.fromstring(pack(_rbcrecfmt, reponode, branchidx))
+ rec.fromstring(pack(_rbcrecfmt, node, branchidx))
self._rbcrevs[rbcrevidx:rbcrevidx + _rbcrecsize] = rec
- return b, close
def write(self):
"""Save branch cache if it is dirty."""
More information about the Mercurial-devel
mailing list