Mercurial > hg
view mercurial/cacheutil.py @ 47478:ca8121d26732
dirstate-tree: Keep a counter of descendant nodes that have an entry
… and change the `DirstateMap::has_dir` method to be based on this counter
being non-zero instead of the mere presence of a node.
A node with zero descendent with an entry currently should be removed from
the tree, but soon we’ll make the dirstate track additional nodes.
(Specifically, for non-ignored directories in order to keep track of their
mtime and optimize status by doing fewer `read_dir` calls.)
Differential Revision: https://phab.mercurial-scm.org/D10922
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 28 Jun 2021 16:50:19 +0200 |
parents | d4ba4d51f85f |
children | 6000f5b25c9b |
line wrap: on
line source
# scmutil.py - Mercurial core utility functions # # Copyright Olivia Mackall <olivia@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 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. 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'] return cachefiles