Patchwork [3,of,6] revbranchcache: move entry writing to a separate function

login
register
mail settings
Submitter Durham Goode
Date March 17, 2015, 3:36 a.m.
Message ID <8e61a4ec3f3d7d6af1ac.1426563375@dev2000.prn2.facebook.com>
Download mbox | patch
Permalink /patch/8110/
State Accepted
Commit fe255b2525d572192edd990ec4c5b58b4c780104
Headers show

Comments

Durham Goode - March 17, 2015, 3:36 a.m.
# HG changeset patch
# User Durham Goode <durham@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.

Patch

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."""