##// END OF EJS Templates
copies: split the combination of the copies mapping in its own function...
copies: split the combination of the copies mapping in its own function In some case, this part take up to 95% of the copy tracing that take about a hundred second. This poor performance comes from the fact we keep duplciating and merging dictionary that are mostly similar. I want to experiment with smarter native code to do this, so I need to isolate the function first.

File last commit:

r43347:687b865b default
r44178:0cc91600 default
Show More
cacheutil.py
22 lines | 822 B | text/x-python | PythonLexer
Boris Feld
caches: make 'cachetocopy' available in scmutil...
r35784 # scmutil.py - Mercurial core utility functions
#
# Copyright Matt Mackall <mpm@selenic.com> and other
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
from . import repoview
Augie Fackler
style: run a patched black on a subset of mercurial...
r43345
Boris Feld
caches: make 'cachetocopy' available in scmutil...
r35784 def cachetocopy(srcrepo):
"""return the list of cache file valuable to copy during a clone"""
# In local clones we're copying all nodes, not just served
# ones. Therefore copy all branch caches over.
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 cachefiles = [b'branch2']
cachefiles += [b'branch2-%s' % f for f in repoview.filtertable]
cachefiles += [b'rbc-names-v1', b'rbc-revs-v1']
cachefiles += [b'tags2']
cachefiles += [b'tags2-%s' % f for f in repoview.filtertable]
cachefiles += [b'hgtagsfnodes1']
Boris Feld
caches: make 'cachetocopy' available in scmutil...
r35784 return cachefiles