mercurial/cacheutil.py
author Georges Racinet <georges.racinet@octobus.net>
Mon, 04 Feb 2019 12:04:59 +0100
changeset 41715 fccb61a1777b
parent 35766 72fdd99eb526
child 43075 57875cf423c9
permissions -rw-r--r--
rust: less set lookups in MissingAncestors using the return values of HashSet::remove(), we can factor pairs of `contains()/remove()` into a single `remove()`. On a perfdiscovery run done on the PyPy repository, prepared with contrib/discovery-helper.sh 50 100, I do get a modest improvement with this (mean of medians of three runs is better by 2%) Sample readings, before this change: ! wall 0.175609 comb 0.180000 user 0.180000 sys 0.000000 (median of 58) With this change: ! wall 0.171662 comb 0.180000 user 0.170000 sys 0.010000 (median of 60) Differential Revision: https://phab.mercurial-scm.org/D5943
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35766
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     1
# scmutil.py - Mercurial core utility functions
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     2
#
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     3
#  Copyright Matt Mackall <mpm@selenic.com> and other
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     4
#
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     5
# This software may be used and distributed according to the terms of the
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     6
# GNU General Public License version 2 or any later version.
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     7
from __future__ import absolute_import
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     8
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     9
from . import repoview
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    10
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    11
def cachetocopy(srcrepo):
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    12
    """return the list of cache file valuable to copy during a clone"""
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    13
    # In local clones we're copying all nodes, not just served
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    14
    # ones. Therefore copy all branch caches over.
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    15
    cachefiles = ['branch2']
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    16
    cachefiles += ['branch2-%s' % f for f in repoview.filtertable]
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    17
    cachefiles += ['rbc-names-v1', 'rbc-revs-v1']
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    18
    cachefiles += ['tags2']
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    19
    cachefiles += ['tags2-%s' % f for f in repoview.filtertable]
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    20
    cachefiles += ['hgtagsfnodes1']
72fdd99eb526 caches: make 'cachetocopy' available in scmutil
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    21
    return cachefiles