--- a/hgext3rd/evolve/firstmergecache.py Sat Aug 18 00:48:05 2018 +0200
+++ b/hgext3rd/evolve/firstmergecache.py Sat Aug 18 00:53:12 2018 +0200
@@ -47,30 +47,12 @@
self.firstmergecache.clear()
super(firstmergecacherepo, self).destroyed()
- if util.safehasattr(repo, 'updatecaches'):
- @localrepo.unfilteredmethod
- def updatecaches(self, tr=None, **kwargs):
- if utility.shouldwarmcache(self, tr):
- self.firstmergecache.update(self)
- self.firstmergecache.save(self)
- super(firstmergecacherepo, self).updatecaches(tr, **kwargs)
-
- else:
- def transaction(self, *args, **kwargs):
- tr = super(firstmergecacherepo, self).transaction(*args, **kwargs)
- reporef = weakref.ref(self)
-
- def _warmcache(tr):
- repo = reporef()
- if repo is None:
- return
- repo = repo.unfiltered()
- repo.firstmergecache.update(repo)
- repo.firstmergecache.save(repo)
-
- if utility.shouldwarmcache(self, tr):
- tr.addpostclose('warmcache-01-firstparentcache', _warmcache)
- return tr
+ @localrepo.unfilteredmethod
+ def updatecaches(self, tr=None, **kwargs):
+ if utility.shouldwarmcache(self, tr):
+ self.firstmergecache.update(self)
+ self.firstmergecache.save(self)
+ super(firstmergecacherepo, self).updatecaches(tr, **kwargs)
repo.__class__ = firstmergecacherepo