remotefilelog: bump pack file formats to version 2
Drop support for format 0 and 1 packs. Version 2 will be different in
that it'll use zlib compression instead of lz4, as the latter isn't
really suitable for core.
If I can make it work, I'll make compression engines pluggable, but
the logic for handling these files is spread out enough it's a little
tricky to get that right.
Test changes are only due to pack files being renamed. The contents of
the packs are the same.
Differential Revision: https://phab.mercurial-scm.org/D4943
--- a/hgext/remotefilelog/basepack.py Wed Oct 03 23:47:43 2018 -0400
+++ b/hgext/remotefilelog/basepack.py Wed Oct 03 23:25:31 2018 -0400
@@ -260,7 +260,7 @@
class versionmixin(object):
# Mix-in for classes with multiple supported versions
VERSION = None
- SUPPORTED_VERSIONS = [0]
+ SUPPORTED_VERSIONS = [2]
def _checkversion(self, version):
if version in self.SUPPORTED_VERSIONS:
@@ -277,7 +277,7 @@
# pages can be released (100MB)
MAXPAGEDIN = 100 * 1024**2
- SUPPORTED_VERSIONS = [0]
+ SUPPORTED_VERSIONS = [2]
def __init__(self, path):
self.path = path
@@ -315,12 +315,9 @@
@util.propertycache
def _indexend(self):
- if self.VERSION == 0:
- return self.indexsize
- else:
- nodecount = struct.unpack_from('!Q', self._index,
- self.params.indexstart - 8)[0]
- return self.params.indexstart + nodecount * self.INDEXENTRYLENGTH
+ nodecount = struct.unpack_from('!Q', self._index,
+ self.params.indexstart - 8)[0]
+ return self.params.indexstart + nodecount * self.INDEXENTRYLENGTH
def freememory(self):
"""Unmap and remap the memory to free it up after known expensive
@@ -361,9 +358,10 @@
class mutablebasepack(versionmixin):
- def __init__(self, ui, packdir, version=0):
+ def __init__(self, ui, packdir, version=2):
self._checkversion(version)
-
+ # TODO(augie): make this configurable
+ self._compressor = 'GZ'
opener = vfsmod.vfs(packdir)
opener.createmode = 0o444
self.opener = opener
@@ -496,8 +494,7 @@
self._writeheader(params)
self.idxfp.write(rawfanouttable)
- if self.VERSION == 1:
- self.idxfp.write(rawentrieslength)
+ self.idxfp.write(rawentrieslength)
self.idxfp.write(rawindex)
self.idxfp.close()
@@ -538,6 +535,5 @@
self.fanoutsize = self.fanoutcount * 4
self.indexstart = FANOUTSTART + self.fanoutsize
- if version == 1:
- # Skip the index length
- self.indexstart += 8
+ # Skip the index length
+ self.indexstart += 8
--- a/hgext/remotefilelog/datapack.py Wed Oct 03 23:47:43 2018 -0400
+++ b/hgext/remotefilelog/datapack.py Wed Oct 03 23:25:31 2018 -0400
@@ -5,7 +5,6 @@
from mercurial.node import hex, nullid
from mercurial.i18n import _
from mercurial import (
- error,
pycompat,
util,
)
@@ -95,7 +94,7 @@
INDEXFORMAT = '!20siQQ'
INDEXENTRYLENGTH = 40
- SUPPORTED_VERSIONS = [0, 1]
+ SUPPORTED_VERSIONS = [2]
def getmissing(self, keys):
missing = []
@@ -115,10 +114,6 @@
if value is None:
raise KeyError((name, hex(node)))
- # version 0 does not support metadata
- if self.VERSION == 0:
- return {}
-
node, deltabaseoffset, offset, size = value
rawentry = self._data[offset:offset + size]
@@ -203,14 +198,11 @@
delta = lz4wrapper.lz4decompress(delta)
if getmeta:
- if self.VERSION == 0:
- meta = {}
- else:
- metastart = deltastart + 8 + deltalen
- metalen = struct.unpack_from('!I', rawentry, metastart)[0]
+ metastart = deltastart + 8 + deltalen
+ metalen = struct.unpack_from('!I', rawentry, metastart)[0]
- rawmeta = rawentry[metastart + 4:metastart + 4 + metalen]
- meta = shallowutil.parsepackmeta(rawmeta)
+ rawmeta = rawentry[metastart + 4:metastart + 4 + metalen]
+ meta = shallowutil.parsepackmeta(rawmeta)
return filename, node, deltabasenode, delta, meta
else:
return filename, node, deltabasenode, delta
@@ -316,10 +308,9 @@
uncompressedlen = struct.unpack('<I', data[offset:offset + 4])[0]
offset += deltalen
- if self.VERSION == 1:
- # <4 byte len> + <metadata-list>
- metalen = struct.unpack_from('!I', data, offset)[0]
- offset += 4 + metalen
+ # <4 byte len> + <metadata-list>
+ metalen = struct.unpack_from('!I', data, offset)[0]
+ offset += 4 + metalen
yield (filename, node, deltabase, uncompressedlen)
@@ -406,7 +397,7 @@
INDEXENTRYLENGTH = datapack.INDEXENTRYLENGTH
# v1 has metadata support
- SUPPORTED_VERSIONS = [0, 1]
+ SUPPORTED_VERSIONS = [2]
def add(self, name, node, deltabasenode, delta, metadata=None):
# metadata is a dict, ex. {METAKEYFLAG: flag}
@@ -431,15 +422,10 @@
delta,
))
- if self.VERSION == 1:
- # v1 support metadata
- rawmeta = shallowutil.buildpackmeta(metadata)
- rawdata += struct.pack('!I', len(rawmeta)) # unsigned 4 byte
- rawdata += rawmeta
- else:
- # v0 cannot store metadata, raise if metadata contains flag
- if metadata and metadata.get(constants.METAKEYFLAG, 0) != 0:
- raise error.ProgrammingError('v0 pack cannot store flags')
+ # v1 support metadata
+ rawmeta = shallowutil.buildpackmeta(metadata)
+ rawdata += struct.pack('!I', len(rawmeta)) # unsigned 4 byte
+ rawdata += rawmeta
offset = self.packfp.tell()
--- a/hgext/remotefilelog/historypack.py Wed Oct 03 23:47:43 2018 -0400
+++ b/hgext/remotefilelog/historypack.py Wed Oct 03 23:25:31 2018 -0400
@@ -15,10 +15,8 @@
)
# (filename hash, offset, size)
-INDEXFORMAT0 = '!20sQQ'
-INDEXENTRYLENGTH0 = struct.calcsize(INDEXFORMAT0)
-INDEXFORMAT1 = '!20sQQII'
-INDEXENTRYLENGTH1 = struct.calcsize(INDEXFORMAT1)
+INDEXFORMAT2 = '!20sQQII'
+INDEXENTRYLENGTH2 = struct.calcsize(INDEXFORMAT2)
NODELENGTH = 20
NODEINDEXFORMAT = '!20sQ'
@@ -84,17 +82,12 @@
INDEXSUFFIX = INDEXSUFFIX
PACKSUFFIX = PACKSUFFIX
- SUPPORTED_VERSIONS = [0, 1]
+ SUPPORTED_VERSIONS = [2]
def __init__(self, path):
super(historypack, self).__init__(path)
-
- if self.VERSION == 0:
- self.INDEXFORMAT = INDEXFORMAT0
- self.INDEXENTRYLENGTH = INDEXENTRYLENGTH0
- else:
- self.INDEXFORMAT = INDEXFORMAT1
- self.INDEXENTRYLENGTH = INDEXENTRYLENGTH1
+ self.INDEXFORMAT = INDEXFORMAT2
+ self.INDEXENTRYLENGTH = INDEXENTRYLENGTH2
def getmissing(self, keys):
missing = []
@@ -215,22 +208,17 @@
raise KeyError(name)
rawentry = struct.unpack(self.INDEXFORMAT, entry)
- if self.VERSION == 0:
- x, offset, size = rawentry
- nodeindexoffset = None
- nodeindexsize = None
- else:
- x, offset, size, nodeindexoffset, nodeindexsize = rawentry
- rawnamelen = self._index[nodeindexoffset:nodeindexoffset +
- constants.FILENAMESIZE]
- actualnamelen = struct.unpack('!H', rawnamelen)[0]
- nodeindexoffset += constants.FILENAMESIZE
- actualname = self._index[nodeindexoffset:nodeindexoffset +
- actualnamelen]
- if actualname != name:
- raise KeyError("found file name %s when looking for %s" %
- (actualname, name))
- nodeindexoffset += actualnamelen
+ x, offset, size, nodeindexoffset, nodeindexsize = rawentry
+ rawnamelen = self._index[nodeindexoffset:nodeindexoffset +
+ constants.FILENAMESIZE]
+ actualnamelen = struct.unpack('!H', rawnamelen)[0]
+ nodeindexoffset += constants.FILENAMESIZE
+ actualname = self._index[nodeindexoffset:nodeindexoffset +
+ actualnamelen]
+ if actualname != name:
+ raise KeyError("found file name %s when looking for %s" %
+ (actualname, name))
+ nodeindexoffset += actualnamelen
filenamelength = struct.unpack('!H', self._data[offset:offset +
constants.FILENAMESIZE])[0]
@@ -406,24 +394,16 @@
INDEXSUFFIX = INDEXSUFFIX
PACKSUFFIX = PACKSUFFIX
- SUPPORTED_VERSIONS = [0, 1]
+ SUPPORTED_VERSIONS = [2]
- def __init__(self, ui, packpath, version=0):
- # internal config: remotefilelog.historypackv1
- if version == 0 and ui.configbool('remotefilelog', 'historypackv1'):
- version = 1
-
+ def __init__(self, ui, packpath, version=2):
super(mutablehistorypack, self).__init__(ui, packpath, version=version)
self.files = {}
self.entrylocations = {}
self.fileentries = {}
- if version == 0:
- self.INDEXFORMAT = INDEXFORMAT0
- self.INDEXENTRYLENGTH = INDEXENTRYLENGTH0
- else:
- self.INDEXFORMAT = INDEXFORMAT1
- self.INDEXENTRYLENGTH = INDEXENTRYLENGTH1
+ self.INDEXFORMAT = INDEXFORMAT2
+ self.INDEXENTRYLENGTH = INDEXENTRYLENGTH2
self.NODEINDEXFORMAT = NODEINDEXFORMAT
self.NODEINDEXENTRYLENGTH = NODEINDEXENTRYLENGTH
@@ -499,7 +479,6 @@
fileindexlength = self.INDEXENTRYLENGTH
nodeindexformat = self.NODEINDEXFORMAT
nodeindexlength = self.NODEINDEXENTRYLENGTH
- version = self.VERSION
files = ((hashlib.sha1(filename).digest(), filename, offset, size)
for filename, (offset, size) in self.files.iteritems())
@@ -515,31 +494,27 @@
nodecount = 0
for namehash, filename, offset, size in files:
# File section index
- if version == 0:
- rawentry = struct.pack(fileindexformat, namehash, offset, size)
- else:
- nodelocations = self.entrylocations[filename]
+ nodelocations = self.entrylocations[filename]
- nodeindexsize = len(nodelocations) * nodeindexlength
+ nodeindexsize = len(nodelocations) * nodeindexlength
- rawentry = struct.pack(fileindexformat, namehash, offset, size,
- nodeindexoffset, nodeindexsize)
- # Node index
- nodeindexentries.append(struct.pack(constants.FILENAMESTRUCT,
- len(filename)) + filename)
- nodeindexoffset += constants.FILENAMESIZE + len(filename)
+ rawentry = struct.pack(fileindexformat, namehash, offset, size,
+ nodeindexoffset, nodeindexsize)
+ # Node index
+ nodeindexentries.append(struct.pack(constants.FILENAMESTRUCT,
+ len(filename)) + filename)
+ nodeindexoffset += constants.FILENAMESIZE + len(filename)
- for node, location in sorted(nodelocations.iteritems()):
- nodeindexentries.append(struct.pack(nodeindexformat, node,
- location))
- nodecount += 1
+ for node, location in sorted(nodelocations.iteritems()):
+ nodeindexentries.append(struct.pack(nodeindexformat, node,
+ location))
+ nodecount += 1
- nodeindexoffset += len(nodelocations) * nodeindexlength
+ nodeindexoffset += len(nodelocations) * nodeindexlength
fileindexentries.append(rawentry)
nodecountraw = ''
- if version == 1:
- nodecountraw = struct.pack('!Q', nodecount)
+ nodecountraw = struct.pack('!Q', nodecount)
return (''.join(fileindexentries) + nodecountraw +
''.join(nodeindexentries))
--- a/hgext/remotefilelog/repack.py Wed Oct 03 23:47:43 2018 -0400
+++ b/hgext/remotefilelog/repack.py Wed Oct 03 23:25:31 2018 -0400
@@ -345,10 +345,7 @@
packer = repacker(repo, data, history, fullhistory, category,
gc=garbagecollect, isold=isold, options=options)
- # internal config: remotefilelog.datapackversion
- dv = repo.ui.configint('remotefilelog', 'datapackversion', 0)
-
- with datapack.mutabledatapack(repo.ui, packpath, version=dv) as dpack:
+ with datapack.mutabledatapack(repo.ui, packpath, version=2) as dpack:
with historypack.mutablehistorypack(repo.ui, packpath) as hpack:
try:
packer.run(dpack, hpack)
--- a/tests/test-remotefilelog-bgprefetch.t Wed Oct 03 23:47:43 2018 -0400
+++ b/tests/test-remotefilelog-bgprefetch.t Wed Oct 03 23:25:31 2018 -0400
@@ -107,10 +107,10 @@
$ sleep 0.5
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/94d53eef9e622533aec1fc6d8053cb086e785d21.histidx
- $TESTTMP/hgcache/master/packs/94d53eef9e622533aec1fc6d8053cb086e785d21.histpack
- $TESTTMP/hgcache/master/packs/f3644bc7773e8289deda7f765138120c838f4e6e.dataidx
- $TESTTMP/hgcache/master/packs/f3644bc7773e8289deda7f765138120c838f4e6e.datapack
+ $TESTTMP/hgcache/master/packs/3616094d229ed39e2593f79c772676d4ec00253a.dataidx
+ $TESTTMP/hgcache/master/packs/3616094d229ed39e2593f79c772676d4ec00253a.datapack
+ $TESTTMP/hgcache/master/packs/6e8633deba6e544e5f8edbd7b996d6e31a2c42ae.histidx
+ $TESTTMP/hgcache/master/packs/6e8633deba6e544e5f8edbd7b996d6e31a2c42ae.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -143,10 +143,10 @@
$ sleep 1
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histidx
- $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histpack
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.dataidx
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack
+ $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histidx
+ $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histpack
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.dataidx
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -154,7 +154,7 @@
# could only be downloaded by the background prefetch
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
w:
Node Delta Base Delta Length Blob Size
bb6ccd5dceaa 000000000000 2 2
@@ -195,10 +195,10 @@
$ sleep 1
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histidx
- $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histpack
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.dataidx
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack
+ $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histidx
+ $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histpack
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.dataidx
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -206,7 +206,7 @@
# could only be downloaded by the background prefetch
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
w:
Node Delta Base Delta Length Blob Size
bb6ccd5dceaa 000000000000 2 2
@@ -249,7 +249,7 @@
# could only be downloaded by the background prefetch
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
w:
Node Delta Base Delta Length Blob Size
bb6ccd5dceaa 000000000000 2 2
@@ -287,16 +287,16 @@
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histidx
- $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histpack
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.dataidx
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack
+ $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histidx
+ $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histpack
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.dataidx
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
# Ensure that files were prefetched
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
w:
Node Delta Base Delta Length Blob Size
bb6ccd5dceaa 000000000000 2 2
@@ -331,16 +331,16 @@
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histidx
- $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histpack
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.dataidx
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack
+ $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histidx
+ $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histpack
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.dataidx
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
# Ensure that files were prefetched
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
+ $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
w:
Node Delta Base Delta Length Blob Size
bb6ccd5dceaa 000000000000 2 2
--- a/tests/test-remotefilelog-datapack.py Wed Oct 03 23:47:43 2018 -0400
+++ b/tests/test-remotefilelog-datapack.py Wed Oct 03 23:25:31 2018 -0400
@@ -49,15 +49,14 @@
def getFakeHash(self):
return ''.join(chr(random.randint(0, 255)) for _ in range(20))
- def createPack(self, revisions=None, packdir=None, version=0):
+ def createPack(self, revisions=None, packdir=None):
if revisions is None:
revisions = [("filename", self.getFakeHash(), nullid, "content")]
if packdir is None:
packdir = self.makeTempDir()
- packer = datapack.mutabledatapack(
- uimod.ui(), packdir, version=version)
+ packer = datapack.mutabledatapack(uimod.ui(), packdir, version=2)
for args in revisions:
filename, node, base, content = args[0:4]
@@ -175,7 +174,7 @@
'Z': 'random_string',
'_': '\0' * i}
revisions.append((filename, node, nullid, content, meta))
- pack = self.createPack(revisions, version=1)
+ pack = self.createPack(revisions)
for name, node, x, content, origmeta in revisions:
parsedmeta = pack.getmeta(name, node)
# flag == 0 should be optimized out
@@ -183,18 +182,6 @@
del origmeta[constants.METAKEYFLAG]
self.assertEquals(parsedmeta, origmeta)
- def testPackMetadataThrows(self):
- filename = '1'
- content = '2'
- node = self.getHash(content)
- meta = {constants.METAKEYFLAG: 3}
- revisions = [(filename, node, nullid, content, meta)]
- try:
- self.createPack(revisions, version=0)
- self.assertTrue(False, "should throw if metadata is not supported")
- except RuntimeError:
- pass
-
def testGetMissing(self):
"""Test the getmissing() api.
"""
--- a/tests/test-remotefilelog-gc.t Wed Oct 03 23:47:43 2018 -0400
+++ b/tests/test-remotefilelog-gc.t Wed Oct 03 23:25:31 2018 -0400
@@ -90,10 +90,10 @@
# Ensure that loose files are repacked
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/8d3499c65d926e4f107cf03c6b0df833222025b4.histidx
- $TESTTMP/hgcache/master/packs/8d3499c65d926e4f107cf03c6b0df833222025b4.histpack
- $TESTTMP/hgcache/master/packs/9c7046f8cad0417c39aa7c03ce13e0ba991306c2.dataidx
- $TESTTMP/hgcache/master/packs/9c7046f8cad0417c39aa7c03ce13e0ba991306c2.datapack
+ $TESTTMP/hgcache/master/packs/173691d550fabb9d33db8da192f1c9bc62dd11a4.dataidx
+ $TESTTMP/hgcache/master/packs/173691d550fabb9d33db8da192f1c9bc62dd11a4.datapack
+ $TESTTMP/hgcache/master/packs/837b83c1ef6485a336eb4421ac5973c0ec130fbb.histidx
+ $TESTTMP/hgcache/master/packs/837b83c1ef6485a336eb4421ac5973c0ec130fbb.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
--- a/tests/test-remotefilelog-gcrepack.t Wed Oct 03 23:47:43 2018 -0400
+++ b/tests/test-remotefilelog-gcrepack.t Wed Oct 03 23:25:31 2018 -0400
@@ -45,13 +45,13 @@
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR | sort | grep ".datapack\|.histpack"
- $TESTTMP/hgcache/master/packs/9a2ea858fe2967db9b6ea4c0ca238881cae9d6eb.histpack
- $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack
+ $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack
+ $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack
# Ensure that all file versions were prefetched
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4:
+ $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1:
x:
Node Delta Base Delta Length Blob Size
1406e7411862 000000000000 2 2
@@ -78,14 +78,14 @@
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR | sort | grep ".datapack\|.histpack"
- $TESTTMP/hgcache/master/packs/05baa499c6b07f2bf0ea3d2c8151da1cb86f5e33.datapack
- $TESTTMP/hgcache/master/packs/9a2ea858fe2967db9b6ea4c0ca238881cae9d6eb.histpack
+ $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack
+ $TESTTMP/hgcache/master/packs/b868298fad9bf477b4e9d9455226c440b0135fe6.datapack
# Ensure that file 'x' was garbage collected. It should be GCed because it is not in the keepset
# and is old (commit date is 0.0 in tests). Ensure that file 'y' is present as it is in the keepset.
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/05baa499c6b07f2bf0ea3d2c8151da1cb86f5e33:
+ $TESTTMP/hgcache/master/packs/b868298fad9bf477b4e9d9455226c440b0135fe6:
y:
Node Delta Base Delta Length Blob Size
50dbc4572b8e 000000000000 3 3
@@ -106,13 +106,13 @@
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR | sort | grep ".datapack\|.histpack"
- $TESTTMP/hgcache/master/packs/9a2ea858fe2967db9b6ea4c0ca238881cae9d6eb.histpack
- $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack
+ $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack
+ $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack
# Ensure that all file versions were prefetched
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4:
+ $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1:
x:
Node Delta Base Delta Length Blob Size
1406e7411862 000000000000 2 2
@@ -140,13 +140,13 @@
$ hg debugwaitonrepack >/dev/null 2>%1
$ find $CACHEDIR | sort | grep ".datapack\|.histpack"
- $TESTTMP/hgcache/master/packs/9a2ea858fe2967db9b6ea4c0ca238881cae9d6eb.histpack
- $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack
+ $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack
+ $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack
# Ensure that all file versions were prefetched
$ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
- $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4:
+ $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1:
x:
Node Delta Base Delta Length Blob Size
1406e7411862 000000000000 2 2
--- a/tests/test-remotefilelog-histpack.py Wed Oct 03 23:47:43 2018 -0400
+++ b/tests/test-remotefilelog-histpack.py Wed Oct 03 23:25:31 2018 -0400
@@ -55,7 +55,7 @@
packdir = self.makeTempDir()
packer = historypack.mutablehistorypack(uimod.ui(), packdir,
- version=1)
+ version=2)
for filename, node, p1, p2, linknode, copyfrom in revisions:
packer.add(filename, node, p1, p2, linknode, copyfrom)
--- a/tests/test-remotefilelog-repack-fast.t Wed Oct 03 23:47:43 2018 -0400
+++ b/tests/test-remotefilelog-repack-fast.t Wed Oct 03 23:25:31 2018 -0400
@@ -50,19 +50,19 @@
$TESTTMP/hgcache
$TESTTMP/hgcache/master
$TESTTMP/hgcache/master/packs
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
# Test that the packs are readonly
$ ls_l $CACHEDIR/master/packs
- -r--r--r-- 1145 276d308429d0303762befa376788300f0310f90e.histidx
- -r--r--r-- 172 276d308429d0303762befa376788300f0310f90e.histpack
- -r--r--r-- 1074 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
- -r--r--r-- 69 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
+ -r--r--r-- 1145 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
+ -r--r--r-- 172 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
+ -r--r--r-- 1074 add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
+ -r--r--r-- 69 add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
-rw-r--r-- 0 repacklock
# Test that the data in the new packs is accessible
@@ -83,20 +83,20 @@
$ find $CACHEDIR -type f | sort
$TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
$ hg repack --traceback
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -113,10 +113,10 @@
# and did not change the pack names
$ hg repack
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -137,10 +137,10 @@
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
$ find $CACHEDIR -type f | sort
$TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/1bb2e6237e035c8f8ef508e281f1ce075bc6db72
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -149,17 +149,17 @@
$ sleep 0.5
$ hg debugwaitonrepack >/dev/null 2>&1
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histidx
- $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histpack
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.dataidx
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.dataidx
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack
+ $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histidx
+ $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
# Test debug commands
$ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e03 000000000000 8 8
@@ -168,7 +168,7 @@
Total: 32 18 (77.8% bigger)
$ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8
@@ -177,7 +177,7 @@
Total: 32 18 (77.8% bigger)
$ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
x
Node Delta Base Delta SHA1 Delta Length
@@ -226,10 +226,10 @@
2 files fetched over 2 fetches - (2 misses, 0.00% hit ratio) over * (glob)
$ hg repack
$ ls $TESTTMP/hgcache/master/packs
- e8fdf7ae22b772dcc291f905b9c6e5f381d28739.dataidx
- e8fdf7ae22b772dcc291f905b9c6e5f381d28739.datapack
- ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histidx
- ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histpack
+ 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.dataidx
+ 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.datapack
+ bfd60adb76018bb952e27cd23fc151bf94865d7d.histidx
+ bfd60adb76018bb952e27cd23fc151bf94865d7d.histpack
repacklock
$ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx
@@ -259,7 +259,7 @@
$ rm -rf $CACHEDIR/master/packs/*hist*
$ hg repack
$ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
- $TESTTMP/hgcache/master/packs/a8d86ff8e1a11a77a85f5fea567f56a757583eda:
+ $TESTTMP/hgcache/master/packs/ba4649b56263282b0699f9a6e7e34a4a2bac1638:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e03 000000000000 8 8
@@ -296,9 +296,9 @@
[1]
$ hg repack --incremental
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1
$ hg prefetch -r 1
@@ -308,25 +308,25 @@
$ hg prefetch -r 3
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
$ hg repack --incremental
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 225 06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
1 gen3 pack, 1 gen0 pack - does nothing
$ hg repack --incremental
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 225 06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
Pull should run background repack
$ cat >> .hg/hgrc <<EOF
@@ -351,9 +351,9 @@
$ sleep 0.5
$ hg debugwaitonrepack >/dev/null 2>&1
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 301 09b8bf49256b3fc2175977ba97d6402e91a9a604.datapack
+ -r--r--r-- 301 671913bebdb7b95aae52a546662753eac7606e40.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
+ -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack
Test environment variable resolution
$ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH'
--- a/tests/test-remotefilelog-repack.t Wed Oct 03 23:47:43 2018 -0400
+++ b/tests/test-remotefilelog-repack.t Wed Oct 03 23:25:31 2018 -0400
@@ -45,19 +45,19 @@
$TESTTMP/hgcache
$TESTTMP/hgcache/master
$TESTTMP/hgcache/master/packs
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
# Test that the packs are readonly
$ ls_l $CACHEDIR/master/packs
- -r--r--r-- 1145 276d308429d0303762befa376788300f0310f90e.histidx
- -r--r--r-- 172 276d308429d0303762befa376788300f0310f90e.histpack
- -r--r--r-- 1074 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
- -r--r--r-- 69 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
+ -r--r--r-- 1145 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
+ -r--r--r-- 172 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
+ -r--r--r-- 1074 add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
+ -r--r--r-- 69 add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
-rw-r--r-- 0 repacklock
# Test that the data in the new packs is accessible
@@ -78,10 +78,10 @@
$ find $CACHEDIR -type f | sort
$TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -91,20 +91,20 @@
$ find $CACHEDIR -type f | sort
$TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
- $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
- $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
+ $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
+ $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
$ hg repack --traceback
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -121,10 +121,10 @@
# and did not change the pack names
$ hg repack
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -145,10 +145,10 @@
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
$ find $CACHEDIR -type f | sort
$TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/1bb2e6237e035c8f8ef508e281f1ce075bc6db72
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
- $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
- $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
+ $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
+ $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
@@ -157,17 +157,17 @@
$ sleep 0.5
$ hg debugwaitonrepack >/dev/null 2>&1
$ find $CACHEDIR -type f | sort
- $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histidx
- $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histpack
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.dataidx
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.dataidx
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack
+ $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histidx
+ $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histpack
$TESTTMP/hgcache/master/packs/repacklock
$TESTTMP/hgcache/repos
# Test debug commands
$ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e03 000000000000 8 8
@@ -176,7 +176,7 @@
Total: 32 18 (77.8% bigger)
$ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8
@@ -185,7 +185,7 @@
Total: 32 18 (77.8% bigger)
$ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216
- $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
+ $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
x
Node Delta Base Delta SHA1 Delta Length
@@ -234,10 +234,10 @@
2 files fetched over 2 fetches - (2 misses, 0.00% hit ratio) over * (glob)
$ hg repack
$ ls $TESTTMP/hgcache/master/packs
- e8fdf7ae22b772dcc291f905b9c6e5f381d28739.dataidx
- e8fdf7ae22b772dcc291f905b9c6e5f381d28739.datapack
- ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histidx
- ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histpack
+ 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.dataidx
+ 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.datapack
+ bfd60adb76018bb952e27cd23fc151bf94865d7d.histidx
+ bfd60adb76018bb952e27cd23fc151bf94865d7d.histpack
repacklock
$ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx
@@ -267,7 +267,7 @@
$ rm -rf $CACHEDIR/master/packs/*hist*
$ hg repack
$ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
- $TESTTMP/hgcache/master/packs/a8d86ff8e1a11a77a85f5fea567f56a757583eda:
+ $TESTTMP/hgcache/master/packs/ba4649b56263282b0699f9a6e7e34a4a2bac1638:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e03 000000000000 8 8
@@ -304,9 +304,9 @@
[1]
$ hg repack --incremental
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1
$ hg prefetch -r 1
@@ -317,9 +317,9 @@
abort: unknown revision '38'!
[255]
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
For the data packs, setting the limit for the repackmaxpacksize to be 64 such
that data pack with size 65 is more than the limit. This effectively ensures
@@ -329,31 +329,31 @@
$ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=64 \
> --config remotefilelog.history.repackmaxpacksize=0
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 147 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
Setting limit for the repackmaxpacksize to be the size of the biggest pack file
which ensures that it is effectively ignored in the incremental repacking.
$ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=65 \
> --config remotefilelog.history.repackmaxpacksize=336
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 147 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
1 gen3 pack, 1 gen0 pack - does nothing
$ hg repack --incremental
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
- -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
+ -r--r--r-- 147 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
+ -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
- -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
+ -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
+ -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
Pull should run background repack
$ cat >> .hg/hgrc <<EOF
@@ -378,9 +378,9 @@
$ sleep 0.5
$ hg debugwaitonrepack >/dev/null 2>&1
$ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
- -r--r--r-- 301 09b8bf49256b3fc2175977ba97d6402e91a9a604.datapack
+ -r--r--r-- 301 671913bebdb7b95aae52a546662753eac7606e40.datapack
$ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
- -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
+ -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack
Test environment variable resolution
$ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH'
@@ -414,7 +414,7 @@
Test limiting the max delta chain length
$ hg repack --config packs.maxchainlen=1
$ hg debugdatapack $TESTTMP/hgcache/master/packs/*.dataidx
- $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742:
+ $TESTTMP/hgcache/master/packs/80f7c299aeb22849ebc28fbd11bb76078aa55918:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e03 000000000000 8 8
@@ -432,8 +432,8 @@
Test huge pack cleanup using different values of packs.maxpacksize:
$ hg repack --incremental --debug
$ hg repack --incremental --debug --config packs.maxpacksize=512
- removing oversize packfile $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742.datapack (426 bytes)
- removing oversize packfile $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742.dataidx (1.21 KB)
+ removing oversize packfile $TESTTMP/hgcache/master/packs/80f7c299aeb22849ebc28fbd11bb76078aa55918.datapack (426 bytes)
+ removing oversize packfile $TESTTMP/hgcache/master/packs/80f7c299aeb22849ebc28fbd11bb76078aa55918.dataidx (1.21 KB)
Do a repack where the new pack reuses a delta from the old pack
$ clearcache
@@ -441,7 +441,7 @@
2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob)
$ hg repack
$ hg debugdatapack $CACHEDIR/master/packs/*.datapack
- $TESTTMP/hgcache/master/packs/abf210f6c3aa4dd0ecc7033633ad73591be16c95:
+ $TESTTMP/hgcache/master/packs/90cfb1a45e2549500caace30add04b58a6b243af:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e03 000000000000 8 8
@@ -452,7 +452,7 @@
2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob)
$ hg repack
$ hg debugdatapack $CACHEDIR/master/packs/*.datapack
- $TESTTMP/hgcache/master/packs/09b8bf49256b3fc2175977ba97d6402e91a9a604:
+ $TESTTMP/hgcache/master/packs/671913bebdb7b95aae52a546662753eac7606e40:
x:
Node Delta Base Delta Length Blob Size
1bb2e6237e03 000000000000 8 8