Mercurial > hg-stable
changeset 35766:72fdd99eb526
caches: make 'cachetocopy' available in scmutil
For more code to use this information, we need it to be more publicly available.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 17 Jan 2018 17:46:49 +0100 |
parents | 56c30b31afbe |
children | 5f5fb279fd39 |
files | mercurial/cacheutil.py mercurial/hg.py |
diffstat | 2 files changed, 23 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial/cacheutil.py Wed Jan 17 17:46:49 2018 +0100 @@ -0,0 +1,21 @@ +# 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 + +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 = ['branch2'] + cachefiles += ['branch2-%s' % f for f in repoview.filtertable] + cachefiles += ['rbc-names-v1', 'rbc-revs-v1'] + cachefiles += ['tags2'] + cachefiles += ['tags2-%s' % f for f in repoview.filtertable] + cachefiles += ['hgtagsfnodes1'] + return cachefiles
--- a/mercurial/hg.py Thu Jan 18 00:50:02 2018 +0100 +++ b/mercurial/hg.py Wed Jan 17 17:46:49 2018 +0100 @@ -21,6 +21,7 @@ from . import ( bookmarks, bundlerepo, + cacheutil, cmdutil, destutil, discovery, @@ -34,7 +35,6 @@ merge as mergemod, node, phases, - repoview, scmutil, sshpeer, statichttprepo, @@ -459,18 +459,6 @@ os.mkdir(dstcachedir) util.copyfile(srcbranchcache, dstbranchcache) -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 = ['branch2'] - cachefiles += ['branch2-%s' % f for f in repoview.filtertable] - cachefiles += ['rbc-names-v1', 'rbc-revs-v1'] - cachefiles += ['tags2'] - cachefiles += ['tags2-%s' % f for f in repoview.filtertable] - cachefiles += ['hgtagsfnodes1'] - return cachefiles - def clone(ui, peeropts, source, dest=None, pull=False, rev=None, update=True, stream=False, branch=None, shareopts=None): """Make a copy of an existing repository. @@ -629,7 +617,7 @@ util.copyfile(srcbookmarks, dstbookmarks) dstcachedir = os.path.join(destpath, 'cache') - for cache in _cachetocopy(srcrepo): + for cache in cacheutil.cachetocopy(srcrepo): _copycache(srcrepo, dstcachedir, cache) # we need to re-init the repo after manually copying the data