new file mode 100644
@@ -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
@@ -21,6 +21,7 @@ from .node import (
from . import (
bookmarks,
bundlerepo,
+ cacheutil,
cmdutil,
destutil,
discovery,
@@ -34,7 +35,6 @@ from . import (
merge as mergemod,
node,
phases,
- repoview,
scmutil,
sshpeer,
statichttprepo,
@@ -459,18 +459,6 @@ def _copycache(srcrepo, dstcachedir, fna
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 @@ def clone(ui, peeropts, source, dest=Non
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