[PATCH 2 of 2] debugupdatecache: also warm rev branch cache
Yuya Nishihara
yuya at tcha.org
Thu Mar 15 09:55:34 EDT 2018
On Wed, 14 Mar 2018 16:37:25 +0100, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1519230070 -3600
> # Wed Feb 21 17:21:10 2018 +0100
> # Node ID c76963db79b393830c8f460baec7efcb39049d86
> # Parent 894cf14ad5d770100eecf112cff94c7a7b19679b
> # EXP-Topic debug-improvement
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> # hg pull https://bitbucket.org/octobus/mercurial-devel/ -r c76963db79b3
> debugupdatecache: also warm rev branch cache
Queued, thanks.
> @unfilteredmethod
> - def updatecaches(self, tr=None):
> + def updatecaches(self, tr=None, full=False):
> """warm appropriate caches
>
> If this function is called after a transaction closed. The transaction
> will be available in the 'tr' argument. This can be used to selectively
> update caches relevant to the changes in that transaction.
> +
> + If 'full' is set, make sure all caches the function knows about have
> + up-to-date data. Even the ones usually loaded more lazily.
> """
> if tr is not None and tr.hookargs.get('source') == 'strip':
> # During strip, many caches are invalid but
> @@ -1536,6 +1539,12 @@ class localrepository(object):
> self.ui.debug('updating the branch cache\n')
> branchmap.updatecache(self.filtered('served'))
>
> + if full:
> + rbc = self.revbranchcache()
> + for r in self.changelog:
> + rbc.branchinfo(r)
> + rbc.write()
I slightly prefer making it a revbranchcache function.
More information about the Mercurial-devel
mailing list