Patchwork [04,of,13,sparse,V2] sparse: remove reference to simplecache

login
register
mail settings
Submitter Gregory Szorc
Date July 6, 2017, 7:36 p.m.
Message ID <452ec637b490dc1a7137.1499369790@ubuntu-vm-main>
Download mbox | patch
Permalink /patch/22033/
State Accepted
Headers show

Comments

Gregory Szorc - July 6, 2017, 7:36 p.m.
# HG changeset patch
# User Gregory Szorc <gregory.szorc@gmail.com>
# Date 1499363663 25200
#      Thu Jul 06 10:54:23 2017 -0700
# Node ID 452ec637b490dc1a7137777a4adbb84a9301bed5
# Parent  1f1f1ed45ed8ee15c37080986022d9de1d7fbd05
sparse: remove reference to simplecache

This is a 3rd party extension authored by Facebook. References in
core are not appropriate.

It will be possible to restore this code/optimization via
monkeypatching. So Facebook won't lose any functionality.

The removed code is important for performance. So add a comment
tracking it.

Patch

diff --git a/hgext/sparse.py b/hgext/sparse.py
--- a/hgext/sparse.py
+++ b/hgext/sparse.py
@@ -436,16 +436,9 @@  def _wraprepo(ui, repo):
             return includes, excludes, profiles
 
         def getrawprofile(self, profile, changeid):
-            try:
-                simplecache = extensions.find('simplecache')
-                node = self[changeid].hex()
-                def func():
-                    return self.filectx(profile, changeid=changeid).data()
-                key = 'sparseprofile:%s:%s' % (profile.replace('/', '__'), node)
-                return simplecache.memoize(func, key,
-                        simplecache.stringserializer, self.ui)
-            except KeyError:
-                return self.filectx(profile, changeid=changeid).data()
+            # TODO add some kind of cache here because this incurs a manifest
+            # resolve and can be slow.
+            return self.filectx(profile, changeid=changeid).data()
 
         def sparsechecksum(self, filepath):
             fh = open(filepath)