diff --git a/hgext/remotefilelog/datapack.py b/hgext/remotefilelog/datapack.py --- a/hgext/remotefilelog/datapack.py +++ b/hgext/remotefilelog/datapack.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import struct +import zlib from mercurial.node import hex, nullid from mercurial.i18n import _ @@ -11,7 +12,6 @@ from . import ( basepack, constants, - lz4wrapper, shallowutil, ) @@ -195,7 +195,7 @@ deltalen = struct.unpack('!Q', rawdeltalen)[0] delta = rawentry[deltastart + 8:deltastart + 8 + deltalen] - delta = lz4wrapper.lz4decompress(delta) + delta = self._decompress(delta) if getmeta: metastart = deltastart + 8 + deltalen @@ -207,6 +207,9 @@ else: return filename, node, deltabasenode, delta + def _decompress(self, data): + return zlib.decompress(data) + def add(self, name, node, data): raise RuntimeError("cannot add to datapack (%s:%s)" % (name, node)) @@ -300,12 +303,10 @@ deltalen = struct.unpack('!Q', rawdeltalen)[0] offset += 8 - # it has to be at least long enough for the lz4 header. - assert deltalen >= 4 - - # python-lz4 stores the length of the uncompressed field as a - # little-endian 32-bit integer at the start of the data. - uncompressedlen = struct.unpack(' + @@ -399,6 +400,9 @@ # v1 has metadata support SUPPORTED_VERSIONS = [2] + def _compress(self, data): + return zlib.compress(data) + def add(self, name, node, deltabasenode, delta, metadata=None): # metadata is a dict, ex. {METAKEYFLAG: flag} if len(name) > 2**16: @@ -411,7 +415,7 @@ return # TODO: allow configurable compression - delta = lz4wrapper.lz4compress(delta) + delta = self._compress(delta) rawdata = ''.join(( struct.pack('!H', len(name)), # unsigned 2 byte int diff --git a/hgext/remotefilelog/debugcommands.py b/hgext/remotefilelog/debugcommands.py --- a/hgext/remotefilelog/debugcommands.py +++ b/hgext/remotefilelog/debugcommands.py @@ -8,6 +8,7 @@ import hashlib import os +import zlib from mercurial.node import bin, hex, nullid, short from mercurial.i18n import _ @@ -22,7 +23,6 @@ extutil, fileserverclient, historypack, - lz4wrapper, repack, shallowrepo, shallowutil, @@ -171,6 +171,9 @@ ui.status("%s %s\n" % (key, os.path.relpath(filepath, path))) +def _decompressblob(raw): + return zlib.decompress(raw) + def parsefileblob(path, decompress): raw = None f = open(path, "r") @@ -180,7 +183,7 @@ f.close() if decompress: - raw = lz4wrapper.lz4decompress(raw) + raw = _decompressblob(raw) offset, size, flags = shallowutil.parsesizeflags(raw) start = offset + size diff --git a/hgext/remotefilelog/fileserverclient.py b/hgext/remotefilelog/fileserverclient.py --- a/hgext/remotefilelog/fileserverclient.py +++ b/hgext/remotefilelog/fileserverclient.py @@ -12,6 +12,7 @@ import os import threading import time +import zlib from mercurial.i18n import _ from mercurial.node import bin, hex, nullid @@ -27,7 +28,6 @@ from . import ( constants, contentstore, - lz4wrapper, metadatastore, ) @@ -444,7 +444,7 @@ % (len(data), size)) self.writedata.addremotefilelognode(filename, bin(node), - lz4wrapper.lz4decompress(data)) + zlib.decompress(data)) def connect(self): if self.cacheprocess: diff --git a/hgext/remotefilelog/lz4wrapper.py b/hgext/remotefilelog/lz4wrapper.py deleted file mode 100644 --- a/hgext/remotefilelog/lz4wrapper.py +++ /dev/null @@ -1,37 +0,0 @@ -from __future__ import absolute_import - -from mercurial.i18n import _ -from mercurial import ( - demandimport, - error, - util, -) -if util.safehasattr(demandimport, 'IGNORES'): - # Since 670eb4fa1b86 - demandimport.IGNORES.update(['pkgutil', 'pkg_resources', '__main__']) -else: - demandimport.ignore.extend(['pkgutil', 'pkg_resources', '__main__']) - -def missing(*args, **kwargs): - raise error.Abort(_('remotefilelog extension requires lz4 support')) - -lz4compress = lzcompresshc = lz4decompress = missing - -with demandimport.deactivated(): - import lz4 - - try: - # newer python-lz4 has these functions deprecated as top-level ones, - # so we are trying to import from lz4.block first - def _compressHC(*args, **kwargs): - return lz4.block.compress(*args, mode='high_compression', **kwargs) - lzcompresshc = _compressHC - lz4compress = lz4.block.compress - lz4decompress = lz4.block.decompress - except AttributeError: - try: - lzcompresshc = lz4.compressHC - lz4compress = lz4.compress - lz4decompress = lz4.decompress - except AttributeError: - pass diff --git a/hgext/remotefilelog/remotefilelogserver.py b/hgext/remotefilelog/remotefilelogserver.py --- a/hgext/remotefilelog/remotefilelogserver.py +++ b/hgext/remotefilelog/remotefilelogserver.py @@ -10,6 +10,7 @@ import os import stat import time +import zlib from mercurial.i18n import _ from mercurial.node import bin, hex, nullid @@ -28,7 +29,6 @@ wireprotov1server, ) from . import ( - lz4wrapper, shallowrepo, shallowutil, ) @@ -230,7 +230,8 @@ filectx = repo.filectx(path, fileid=node) text = createfileblob(filectx) - text = lz4wrapper.lzcompresshc(text) + # TODO configurable compression engines + text = zlib.compress(text) # everything should be user & group read/writable oldumask = os.umask(0o002) diff --git a/tests/test-remotefilelog-bgprefetch.t b/tests/test-remotefilelog-bgprefetch.t --- a/tests/test-remotefilelog-bgprefetch.t +++ b/tests/test-remotefilelog-bgprefetch.t @@ -107,10 +107,10 @@ $ sleep 0.5 $ hg debugwaitonrepack >/dev/null 2>%1 $ find $CACHEDIR -type f | sort - $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/8ce5ab3745465ab83bba30a7b9c295e0c8404652.dataidx + $TESTTMP/hgcache/master/packs/8ce5ab3745465ab83bba30a7b9c295e0c8404652.datapack $TESTTMP/hgcache/master/packs/repacklock $TESTTMP/hgcache/repos @@ -145,8 +145,8 @@ $ find $CACHEDIR -type f | sort $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/f4d50848e0b465e9bfd2875f213044c06cfd7407.dataidx + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407.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/ac19aff076286bebe3ff108c96c6445a0fe27c46: + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407: w: Node Delta Base Delta Length Blob Size bb6ccd5dceaa 000000000000 2 2 @@ -197,8 +197,8 @@ $ find $CACHEDIR -type f | sort $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/f4d50848e0b465e9bfd2875f213044c06cfd7407.dataidx + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407.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/ac19aff076286bebe3ff108c96c6445a0fe27c46: + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407: 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/ac19aff076286bebe3ff108c96c6445a0fe27c46: + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407: w: Node Delta Base Delta Length Blob Size bb6ccd5dceaa 000000000000 2 2 @@ -289,14 +289,14 @@ $ find $CACHEDIR -type f | sort $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/f4d50848e0b465e9bfd2875f213044c06cfd7407.dataidx + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407.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/ac19aff076286bebe3ff108c96c6445a0fe27c46: + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407: w: Node Delta Base Delta Length Blob Size bb6ccd5dceaa 000000000000 2 2 @@ -333,14 +333,14 @@ $ find $CACHEDIR -type f | sort $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/f4d50848e0b465e9bfd2875f213044c06cfd7407.dataidx + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407.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/ac19aff076286bebe3ff108c96c6445a0fe27c46: + $TESTTMP/hgcache/master/packs/f4d50848e0b465e9bfd2875f213044c06cfd7407: w: Node Delta Base Delta Length Blob Size bb6ccd5dceaa 000000000000 2 2 diff --git a/tests/test-remotefilelog-gc.t b/tests/test-remotefilelog-gc.t --- a/tests/test-remotefilelog-gc.t +++ b/tests/test-remotefilelog-gc.t @@ -90,8 +90,8 @@ # Ensure that loose files are repacked $ find $CACHEDIR -type f | sort - $TESTTMP/hgcache/master/packs/173691d550fabb9d33db8da192f1c9bc62dd11a4.dataidx - $TESTTMP/hgcache/master/packs/173691d550fabb9d33db8da192f1c9bc62dd11a4.datapack + $TESTTMP/hgcache/master/packs/320dab99b7e3f60512b97f347689625263d22cf5.dataidx + $TESTTMP/hgcache/master/packs/320dab99b7e3f60512b97f347689625263d22cf5.datapack $TESTTMP/hgcache/master/packs/837b83c1ef6485a336eb4421ac5973c0ec130fbb.histidx $TESTTMP/hgcache/master/packs/837b83c1ef6485a336eb4421ac5973c0ec130fbb.histpack $TESTTMP/hgcache/master/packs/repacklock diff --git a/tests/test-remotefilelog-gcrepack.t b/tests/test-remotefilelog-gcrepack.t --- a/tests/test-remotefilelog-gcrepack.t +++ b/tests/test-remotefilelog-gcrepack.t @@ -46,12 +46,12 @@ $ find $CACHEDIR | sort | grep ".datapack\|.histpack" $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack - $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack + $TESTTMP/hgcache/master/packs/dc8f8fdc76690ce27791ce9f53a18da379e50d37.datapack # Ensure that all file versions were prefetched $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1` - $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1: + $TESTTMP/hgcache/master/packs/dc8f8fdc76690ce27791ce9f53a18da379e50d37: x: Node Delta Base Delta Length Blob Size 1406e7411862 000000000000 2 2 @@ -79,13 +79,13 @@ $ find $CACHEDIR | sort | grep ".datapack\|.histpack" $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack - $TESTTMP/hgcache/master/packs/b868298fad9bf477b4e9d9455226c440b0135fe6.datapack + $TESTTMP/hgcache/master/packs/a4e1d094ec2aee8a08a4d6d95a13c634cc7d7394.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/b868298fad9bf477b4e9d9455226c440b0135fe6: + $TESTTMP/hgcache/master/packs/a4e1d094ec2aee8a08a4d6d95a13c634cc7d7394: y: Node Delta Base Delta Length Blob Size 50dbc4572b8e 000000000000 3 3 @@ -107,12 +107,12 @@ $ find $CACHEDIR | sort | grep ".datapack\|.histpack" $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack - $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack + $TESTTMP/hgcache/master/packs/dc8f8fdc76690ce27791ce9f53a18da379e50d37.datapack # Ensure that all file versions were prefetched $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1` - $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1: + $TESTTMP/hgcache/master/packs/dc8f8fdc76690ce27791ce9f53a18da379e50d37: x: Node Delta Base Delta Length Blob Size 1406e7411862 000000000000 2 2 @@ -141,12 +141,12 @@ $ find $CACHEDIR | sort | grep ".datapack\|.histpack" $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack - $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack + $TESTTMP/hgcache/master/packs/dc8f8fdc76690ce27791ce9f53a18da379e50d37.datapack # Ensure that all file versions were prefetched $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1` - $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1: + $TESTTMP/hgcache/master/packs/dc8f8fdc76690ce27791ce9f53a18da379e50d37: x: Node Delta Base Delta Length Blob Size 1406e7411862 000000000000 2 2 diff --git a/tests/test-remotefilelog-http.t b/tests/test-remotefilelog-http.t --- a/tests/test-remotefilelog-http.t +++ b/tests/test-remotefilelog-http.t @@ -64,9 +64,7 @@ $ get-with-headers.py localhost:$HGPORT "$GET" 200 Script output follows - 0\x00U\x00\x00\x00\xff (esc) - 2\x00x (esc) - \x14\x06\xe7A\x18bv\x94&\x84\x17I\x1f\x01\x8aJ\x881R\xf0\x00\x01\x00\x14\xf0\x06T\xd8\xef\x99"\x04\xd01\xe6\xa6i\xf4~\x98\xb3\xe3Dw>T\x00 (no-eol) (esc) + 0\x00x\x9c3b\xa8\xe0\x12a{\xee(\x91T6E\xadE\xdcS\x9e\xb1\xcb\xab\xc30\xe8\x03\x03\x91 \xe4\xc6\xfb\x99J,\x17\x0c\x9f-\xcb\xfcR7c\xf3c\x97r\xbb\x10\x06\x00\x96m\x121 (no-eol) (esc) This GET should fail using the in-band signalling mechanism, because it's not a full clone. Note that it's also plausible for servers to diff --git a/tests/test-remotefilelog-repack-fast.t b/tests/test-remotefilelog-repack-fast.t --- a/tests/test-remotefilelog-repack-fast.t +++ b/tests/test-remotefilelog-repack-fast.t @@ -52,8 +52,8 @@ $TESTTMP/hgcache/master/packs $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/b1e0cfc7f345e408a7825e3081501959488d59ce.dataidx + $TESTTMP/hgcache/master/packs/b1e0cfc7f345e408a7825e3081501959488d59ce.datapack $TESTTMP/hgcache/master/packs/repacklock $TESTTMP/hgcache/repos @@ -61,8 +61,8 @@ $ ls_l $CACHEDIR/master/packs -r--r--r-- 1145 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx -r--r--r-- 172 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack - -r--r--r-- 1074 add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx - -r--r--r-- 69 add67cb28ae0a2962111588ce49467ca9ebb9195.datapack + -r--r--r-- 1074 b1e0cfc7f345e408a7825e3081501959488d59ce.dataidx + -r--r--r-- 72 b1e0cfc7f345e408a7825e3081501959488d59ce.datapack -rw-r--r-- 0 repacklock # Test that the data in the new packs is accessible @@ -85,16 +85,16 @@ $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216 $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/b1e0cfc7f345e408a7825e3081501959488d59ce.dataidx + $TESTTMP/hgcache/master/packs/b1e0cfc7f345e408a7825e3081501959488d59ce.datapack $TESTTMP/hgcache/master/packs/repacklock $TESTTMP/hgcache/repos $ hg repack --traceback $ find $CACHEDIR -type f | sort - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.dataidx + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.datapack $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack $TESTTMP/hgcache/master/packs/repacklock @@ -113,8 +113,8 @@ # and did not change the pack names $ hg repack $ find $CACHEDIR -type f | sort - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.dataidx + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.datapack $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack $TESTTMP/hgcache/master/packs/repacklock @@ -137,8 +137,8 @@ 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/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.dataidx + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.datapack $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack $TESTTMP/hgcache/master/packs/repacklock @@ -149,8 +149,8 @@ $ sleep 0.5 $ hg debugwaitonrepack >/dev/null 2>&1 $ find $CACHEDIR -type f | sort - $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.dataidx - $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0.dataidx + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0.datapack $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histidx $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histpack $TESTTMP/hgcache/master/packs/repacklock @@ -159,7 +159,7 @@ # Test debug commands $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack - $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123: + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0: 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/06ae46494f0e3b9beda53eae8fc0e55139f13123: + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0: 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/06ae46494f0e3b9beda53eae8fc0e55139f13123: + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0: 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 - 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.dataidx - 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.datapack bfd60adb76018bb952e27cd23fc151bf94865d7d.histidx bfd60adb76018bb952e27cd23fc151bf94865d7d.histpack + fb3aa57b22789ebcc45706c352e2d6af099c5816.dataidx + fb3aa57b22789ebcc45706c352e2d6af099c5816.datapack 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/ba4649b56263282b0699f9a6e7e34a4a2bac1638: + $TESTTMP/hgcache/master/packs/922aca43dbbeda4d250565372e8892ec7b08da6a: x: Node Delta Base Delta Length Blob Size 1bb2e6237e03 000000000000 8 8 @@ -296,7 +296,7 @@ [1] $ hg repack --incremental $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack - -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack @@ -308,13 +308,13 @@ $ 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 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack $ hg repack --incremental $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack - -r--r--r-- 225 06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack - -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack + -r--r--r-- 226 39443fa1064182e93d968b5cba292eb5283260d0.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack @@ -322,8 +322,8 @@ 1 gen3 pack, 1 gen0 pack - does nothing $ hg repack --incremental $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack - -r--r--r-- 225 06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack - -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack + -r--r--r-- 226 39443fa1064182e93d968b5cba292eb5283260d0.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack @@ -351,7 +351,7 @@ $ sleep 0.5 $ hg debugwaitonrepack >/dev/null 2>&1 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack - -r--r--r-- 301 671913bebdb7b95aae52a546662753eac7606e40.datapack + -r--r--r-- 303 156a6c1c83aeb69422d7936e0a46ba9bc06a71c0.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack diff --git a/tests/test-remotefilelog-repack.t b/tests/test-remotefilelog-repack.t --- a/tests/test-remotefilelog-repack.t +++ b/tests/test-remotefilelog-repack.t @@ -47,8 +47,8 @@ $TESTTMP/hgcache/master/packs $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/b1e0cfc7f345e408a7825e3081501959488d59ce.dataidx + $TESTTMP/hgcache/master/packs/b1e0cfc7f345e408a7825e3081501959488d59ce.datapack $TESTTMP/hgcache/master/packs/repacklock $TESTTMP/hgcache/repos @@ -56,8 +56,8 @@ $ ls_l $CACHEDIR/master/packs -r--r--r-- 1145 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx -r--r--r-- 172 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack - -r--r--r-- 1074 add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx - -r--r--r-- 69 add67cb28ae0a2962111588ce49467ca9ebb9195.datapack + -r--r--r-- 1074 b1e0cfc7f345e408a7825e3081501959488d59ce.dataidx + -r--r--r-- 72 b1e0cfc7f345e408a7825e3081501959488d59ce.datapack -rw-r--r-- 0 repacklock # Test that the data in the new packs is accessible @@ -80,8 +80,8 @@ $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216 $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/b1e0cfc7f345e408a7825e3081501959488d59ce.dataidx + $TESTTMP/hgcache/master/packs/b1e0cfc7f345e408a7825e3081501959488d59ce.datapack $TESTTMP/hgcache/master/packs/repacklock $TESTTMP/hgcache/repos @@ -93,16 +93,16 @@ $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216 $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/b1e0cfc7f345e408a7825e3081501959488d59ce.dataidx + $TESTTMP/hgcache/master/packs/b1e0cfc7f345e408a7825e3081501959488d59ce.datapack $TESTTMP/hgcache/master/packs/repacklock $TESTTMP/hgcache/repos $ hg repack --traceback $ find $CACHEDIR -type f | sort - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.dataidx + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.datapack $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack $TESTTMP/hgcache/master/packs/repacklock @@ -121,8 +121,8 @@ # and did not change the pack names $ hg repack $ find $CACHEDIR -type f | sort - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.dataidx + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.datapack $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack $TESTTMP/hgcache/master/packs/repacklock @@ -145,8 +145,8 @@ 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/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx - $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.dataidx + $TESTTMP/hgcache/master/packs/78840d69389c7404327f7477e3931c89945c37d1.datapack $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack $TESTTMP/hgcache/master/packs/repacklock @@ -157,8 +157,8 @@ $ sleep 0.5 $ hg debugwaitonrepack >/dev/null 2>&1 $ find $CACHEDIR -type f | sort - $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.dataidx - $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0.dataidx + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0.datapack $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histidx $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histpack $TESTTMP/hgcache/master/packs/repacklock @@ -167,7 +167,7 @@ # Test debug commands $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack - $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123: + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0: 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/06ae46494f0e3b9beda53eae8fc0e55139f13123: + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0: 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/06ae46494f0e3b9beda53eae8fc0e55139f13123: + $TESTTMP/hgcache/master/packs/39443fa1064182e93d968b5cba292eb5283260d0: 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 - 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.dataidx - 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.datapack bfd60adb76018bb952e27cd23fc151bf94865d7d.histidx bfd60adb76018bb952e27cd23fc151bf94865d7d.histpack + fb3aa57b22789ebcc45706c352e2d6af099c5816.dataidx + fb3aa57b22789ebcc45706c352e2d6af099c5816.datapack 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/ba4649b56263282b0699f9a6e7e34a4a2bac1638: + $TESTTMP/hgcache/master/packs/922aca43dbbeda4d250565372e8892ec7b08da6a: x: Node Delta Base Delta Length Blob Size 1bb2e6237e03 000000000000 8 8 @@ -304,7 +304,7 @@ [1] $ hg repack --incremental $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack - -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack @@ -317,7 +317,7 @@ abort: unknown revision '38'! [255] $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack - -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack @@ -329,8 +329,8 @@ $ 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 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack - -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack + -r--r--r-- 149 78840d69389c7404327f7477e3931c89945c37d1.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack @@ -340,8 +340,8 @@ $ 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 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack - -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack + -r--r--r-- 149 78840d69389c7404327f7477e3931c89945c37d1.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack @@ -349,8 +349,8 @@ 1 gen3 pack, 1 gen0 pack - does nothing $ hg repack --incremental $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack - -r--r--r-- 147 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack - -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack + -r--r--r-- 70 052643fdcdebbd42d7c180a651a30d46098e6fe1.datapack + -r--r--r-- 149 78840d69389c7404327f7477e3931c89945c37d1.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack @@ -378,7 +378,7 @@ $ sleep 0.5 $ hg debugwaitonrepack >/dev/null 2>&1 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack - -r--r--r-- 301 671913bebdb7b95aae52a546662753eac7606e40.datapack + -r--r--r-- 303 156a6c1c83aeb69422d7936e0a46ba9bc06a71c0.datapack $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack @@ -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/80f7c299aeb22849ebc28fbd11bb76078aa55918: + $TESTTMP/hgcache/master/packs/f258af4c033dd5cd32b4dbc42a1efcd8e4c7d909: 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/80f7c299aeb22849ebc28fbd11bb76078aa55918.datapack (426 bytes) - removing oversize packfile $TESTTMP/hgcache/master/packs/80f7c299aeb22849ebc28fbd11bb76078aa55918.dataidx (1.21 KB) + removing oversize packfile $TESTTMP/hgcache/master/packs/f258af4c033dd5cd32b4dbc42a1efcd8e4c7d909.datapack (425 bytes) + removing oversize packfile $TESTTMP/hgcache/master/packs/f258af4c033dd5cd32b4dbc42a1efcd8e4c7d909.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/90cfb1a45e2549500caace30add04b58a6b243af: + $TESTTMP/hgcache/master/packs/9ec6b30891bd851320acb7c66b69a2bdf41c8df3: 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/671913bebdb7b95aae52a546662753eac7606e40: + $TESTTMP/hgcache/master/packs/156a6c1c83aeb69422d7936e0a46ba9bc06a71c0: x: Node Delta Base Delta Length Blob Size 1bb2e6237e03 000000000000 8 8