##// END OF EJS Templates
remotefilelog: bump pack file formats to version 2...
Augie Fackler -
r40541:10c10da1 default
parent child Browse files
Show More
@@ -260,7 +260,7 b' class basepackstore(object):'
260 class versionmixin(object):
260 class versionmixin(object):
261 # Mix-in for classes with multiple supported versions
261 # Mix-in for classes with multiple supported versions
262 VERSION = None
262 VERSION = None
263 SUPPORTED_VERSIONS = [0]
263 SUPPORTED_VERSIONS = [2]
264
264
265 def _checkversion(self, version):
265 def _checkversion(self, version):
266 if version in self.SUPPORTED_VERSIONS:
266 if version in self.SUPPORTED_VERSIONS:
@@ -277,7 +277,7 b' class basepack(versionmixin):'
277 # pages can be released (100MB)
277 # pages can be released (100MB)
278 MAXPAGEDIN = 100 * 1024**2
278 MAXPAGEDIN = 100 * 1024**2
279
279
280 SUPPORTED_VERSIONS = [0]
280 SUPPORTED_VERSIONS = [2]
281
281
282 def __init__(self, path):
282 def __init__(self, path):
283 self.path = path
283 self.path = path
@@ -315,12 +315,9 b' class basepack(versionmixin):'
315
315
316 @util.propertycache
316 @util.propertycache
317 def _indexend(self):
317 def _indexend(self):
318 if self.VERSION == 0:
318 nodecount = struct.unpack_from('!Q', self._index,
319 return self.indexsize
319 self.params.indexstart - 8)[0]
320 else:
320 return self.params.indexstart + nodecount * self.INDEXENTRYLENGTH
321 nodecount = struct.unpack_from('!Q', self._index,
322 self.params.indexstart - 8)[0]
323 return self.params.indexstart + nodecount * self.INDEXENTRYLENGTH
324
321
325 def freememory(self):
322 def freememory(self):
326 """Unmap and remap the memory to free it up after known expensive
323 """Unmap and remap the memory to free it up after known expensive
@@ -361,9 +358,10 b' class basepack(versionmixin):'
361
358
362 class mutablebasepack(versionmixin):
359 class mutablebasepack(versionmixin):
363
360
364 def __init__(self, ui, packdir, version=0):
361 def __init__(self, ui, packdir, version=2):
365 self._checkversion(version)
362 self._checkversion(version)
366
363 # TODO(augie): make this configurable
364 self._compressor = 'GZ'
367 opener = vfsmod.vfs(packdir)
365 opener = vfsmod.vfs(packdir)
368 opener.createmode = 0o444
366 opener.createmode = 0o444
369 self.opener = opener
367 self.opener = opener
@@ -496,8 +494,7 b' class mutablebasepack(versionmixin):'
496
494
497 self._writeheader(params)
495 self._writeheader(params)
498 self.idxfp.write(rawfanouttable)
496 self.idxfp.write(rawfanouttable)
499 if self.VERSION == 1:
497 self.idxfp.write(rawentrieslength)
500 self.idxfp.write(rawentrieslength)
501 self.idxfp.write(rawindex)
498 self.idxfp.write(rawindex)
502 self.idxfp.close()
499 self.idxfp.close()
503
500
@@ -538,6 +535,5 b' class indexparams(object):'
538 self.fanoutsize = self.fanoutcount * 4
535 self.fanoutsize = self.fanoutcount * 4
539
536
540 self.indexstart = FANOUTSTART + self.fanoutsize
537 self.indexstart = FANOUTSTART + self.fanoutsize
541 if version == 1:
538 # Skip the index length
542 # Skip the index length
539 self.indexstart += 8
543 self.indexstart += 8
@@ -5,7 +5,6 b' import struct'
5 from mercurial.node import hex, nullid
5 from mercurial.node import hex, nullid
6 from mercurial.i18n import _
6 from mercurial.i18n import _
7 from mercurial import (
7 from mercurial import (
8 error,
9 pycompat,
8 pycompat,
10 util,
9 util,
11 )
10 )
@@ -95,7 +94,7 b' class datapack(basepack.basepack):'
95 INDEXFORMAT = '!20siQQ'
94 INDEXFORMAT = '!20siQQ'
96 INDEXENTRYLENGTH = 40
95 INDEXENTRYLENGTH = 40
97
96
98 SUPPORTED_VERSIONS = [0, 1]
97 SUPPORTED_VERSIONS = [2]
99
98
100 def getmissing(self, keys):
99 def getmissing(self, keys):
101 missing = []
100 missing = []
@@ -115,10 +114,6 b' class datapack(basepack.basepack):'
115 if value is None:
114 if value is None:
116 raise KeyError((name, hex(node)))
115 raise KeyError((name, hex(node)))
117
116
118 # version 0 does not support metadata
119 if self.VERSION == 0:
120 return {}
121
122 node, deltabaseoffset, offset, size = value
117 node, deltabaseoffset, offset, size = value
123 rawentry = self._data[offset:offset + size]
118 rawentry = self._data[offset:offset + size]
124
119
@@ -203,14 +198,11 b' class datapack(basepack.basepack):'
203 delta = lz4wrapper.lz4decompress(delta)
198 delta = lz4wrapper.lz4decompress(delta)
204
199
205 if getmeta:
200 if getmeta:
206 if self.VERSION == 0:
201 metastart = deltastart + 8 + deltalen
207 meta = {}
202 metalen = struct.unpack_from('!I', rawentry, metastart)[0]
208 else:
209 metastart = deltastart + 8 + deltalen
210 metalen = struct.unpack_from('!I', rawentry, metastart)[0]
211
203
212 rawmeta = rawentry[metastart + 4:metastart + 4 + metalen]
204 rawmeta = rawentry[metastart + 4:metastart + 4 + metalen]
213 meta = shallowutil.parsepackmeta(rawmeta)
205 meta = shallowutil.parsepackmeta(rawmeta)
214 return filename, node, deltabasenode, delta, meta
206 return filename, node, deltabasenode, delta, meta
215 else:
207 else:
216 return filename, node, deltabasenode, delta
208 return filename, node, deltabasenode, delta
@@ -316,10 +308,9 b' class datapack(basepack.basepack):'
316 uncompressedlen = struct.unpack('<I', data[offset:offset + 4])[0]
308 uncompressedlen = struct.unpack('<I', data[offset:offset + 4])[0]
317 offset += deltalen
309 offset += deltalen
318
310
319 if self.VERSION == 1:
311 # <4 byte len> + <metadata-list>
320 # <4 byte len> + <metadata-list>
312 metalen = struct.unpack_from('!I', data, offset)[0]
321 metalen = struct.unpack_from('!I', data, offset)[0]
313 offset += 4 + metalen
322 offset += 4 + metalen
323
314
324 yield (filename, node, deltabase, uncompressedlen)
315 yield (filename, node, deltabase, uncompressedlen)
325
316
@@ -406,7 +397,7 b' class mutabledatapack(basepack.mutableba'
406 INDEXENTRYLENGTH = datapack.INDEXENTRYLENGTH
397 INDEXENTRYLENGTH = datapack.INDEXENTRYLENGTH
407
398
408 # v1 has metadata support
399 # v1 has metadata support
409 SUPPORTED_VERSIONS = [0, 1]
400 SUPPORTED_VERSIONS = [2]
410
401
411 def add(self, name, node, deltabasenode, delta, metadata=None):
402 def add(self, name, node, deltabasenode, delta, metadata=None):
412 # metadata is a dict, ex. {METAKEYFLAG: flag}
403 # metadata is a dict, ex. {METAKEYFLAG: flag}
@@ -431,15 +422,10 b' class mutabledatapack(basepack.mutableba'
431 delta,
422 delta,
432 ))
423 ))
433
424
434 if self.VERSION == 1:
425 # v1 support metadata
435 # v1 support metadata
426 rawmeta = shallowutil.buildpackmeta(metadata)
436 rawmeta = shallowutil.buildpackmeta(metadata)
427 rawdata += struct.pack('!I', len(rawmeta)) # unsigned 4 byte
437 rawdata += struct.pack('!I', len(rawmeta)) # unsigned 4 byte
428 rawdata += rawmeta
438 rawdata += rawmeta
439 else:
440 # v0 cannot store metadata, raise if metadata contains flag
441 if metadata and metadata.get(constants.METAKEYFLAG, 0) != 0:
442 raise error.ProgrammingError('v0 pack cannot store flags')
443
429
444 offset = self.packfp.tell()
430 offset = self.packfp.tell()
445
431
@@ -15,10 +15,8 b' from . import ('
15 )
15 )
16
16
17 # (filename hash, offset, size)
17 # (filename hash, offset, size)
18 INDEXFORMAT0 = '!20sQQ'
18 INDEXFORMAT2 = '!20sQQII'
19 INDEXENTRYLENGTH0 = struct.calcsize(INDEXFORMAT0)
19 INDEXENTRYLENGTH2 = struct.calcsize(INDEXFORMAT2)
20 INDEXFORMAT1 = '!20sQQII'
21 INDEXENTRYLENGTH1 = struct.calcsize(INDEXFORMAT1)
22 NODELENGTH = 20
20 NODELENGTH = 20
23
21
24 NODEINDEXFORMAT = '!20sQ'
22 NODEINDEXFORMAT = '!20sQ'
@@ -84,17 +82,12 b' class historypack(basepack.basepack):'
84 INDEXSUFFIX = INDEXSUFFIX
82 INDEXSUFFIX = INDEXSUFFIX
85 PACKSUFFIX = PACKSUFFIX
83 PACKSUFFIX = PACKSUFFIX
86
84
87 SUPPORTED_VERSIONS = [0, 1]
85 SUPPORTED_VERSIONS = [2]
88
86
89 def __init__(self, path):
87 def __init__(self, path):
90 super(historypack, self).__init__(path)
88 super(historypack, self).__init__(path)
91
89 self.INDEXFORMAT = INDEXFORMAT2
92 if self.VERSION == 0:
90 self.INDEXENTRYLENGTH = INDEXENTRYLENGTH2
93 self.INDEXFORMAT = INDEXFORMAT0
94 self.INDEXENTRYLENGTH = INDEXENTRYLENGTH0
95 else:
96 self.INDEXFORMAT = INDEXFORMAT1
97 self.INDEXENTRYLENGTH = INDEXENTRYLENGTH1
98
91
99 def getmissing(self, keys):
92 def getmissing(self, keys):
100 missing = []
93 missing = []
@@ -215,22 +208,17 b' class historypack(basepack.basepack):'
215 raise KeyError(name)
208 raise KeyError(name)
216
209
217 rawentry = struct.unpack(self.INDEXFORMAT, entry)
210 rawentry = struct.unpack(self.INDEXFORMAT, entry)
218 if self.VERSION == 0:
211 x, offset, size, nodeindexoffset, nodeindexsize = rawentry
219 x, offset, size = rawentry
212 rawnamelen = self._index[nodeindexoffset:nodeindexoffset +
220 nodeindexoffset = None
213 constants.FILENAMESIZE]
221 nodeindexsize = None
214 actualnamelen = struct.unpack('!H', rawnamelen)[0]
222 else:
215 nodeindexoffset += constants.FILENAMESIZE
223 x, offset, size, nodeindexoffset, nodeindexsize = rawentry
216 actualname = self._index[nodeindexoffset:nodeindexoffset +
224 rawnamelen = self._index[nodeindexoffset:nodeindexoffset +
217 actualnamelen]
225 constants.FILENAMESIZE]
218 if actualname != name:
226 actualnamelen = struct.unpack('!H', rawnamelen)[0]
219 raise KeyError("found file name %s when looking for %s" %
227 nodeindexoffset += constants.FILENAMESIZE
220 (actualname, name))
228 actualname = self._index[nodeindexoffset:nodeindexoffset +
221 nodeindexoffset += actualnamelen
229 actualnamelen]
230 if actualname != name:
231 raise KeyError("found file name %s when looking for %s" %
232 (actualname, name))
233 nodeindexoffset += actualnamelen
234
222
235 filenamelength = struct.unpack('!H', self._data[offset:offset +
223 filenamelength = struct.unpack('!H', self._data[offset:offset +
236 constants.FILENAMESIZE])[0]
224 constants.FILENAMESIZE])[0]
@@ -406,24 +394,16 b' class mutablehistorypack(basepack.mutabl'
406 INDEXSUFFIX = INDEXSUFFIX
394 INDEXSUFFIX = INDEXSUFFIX
407 PACKSUFFIX = PACKSUFFIX
395 PACKSUFFIX = PACKSUFFIX
408
396
409 SUPPORTED_VERSIONS = [0, 1]
397 SUPPORTED_VERSIONS = [2]
410
398
411 def __init__(self, ui, packpath, version=0):
399 def __init__(self, ui, packpath, version=2):
412 # internal config: remotefilelog.historypackv1
413 if version == 0 and ui.configbool('remotefilelog', 'historypackv1'):
414 version = 1
415
416 super(mutablehistorypack, self).__init__(ui, packpath, version=version)
400 super(mutablehistorypack, self).__init__(ui, packpath, version=version)
417 self.files = {}
401 self.files = {}
418 self.entrylocations = {}
402 self.entrylocations = {}
419 self.fileentries = {}
403 self.fileentries = {}
420
404
421 if version == 0:
405 self.INDEXFORMAT = INDEXFORMAT2
422 self.INDEXFORMAT = INDEXFORMAT0
406 self.INDEXENTRYLENGTH = INDEXENTRYLENGTH2
423 self.INDEXENTRYLENGTH = INDEXENTRYLENGTH0
424 else:
425 self.INDEXFORMAT = INDEXFORMAT1
426 self.INDEXENTRYLENGTH = INDEXENTRYLENGTH1
427
407
428 self.NODEINDEXFORMAT = NODEINDEXFORMAT
408 self.NODEINDEXFORMAT = NODEINDEXFORMAT
429 self.NODEINDEXENTRYLENGTH = NODEINDEXENTRYLENGTH
409 self.NODEINDEXENTRYLENGTH = NODEINDEXENTRYLENGTH
@@ -499,7 +479,6 b' class mutablehistorypack(basepack.mutabl'
499 fileindexlength = self.INDEXENTRYLENGTH
479 fileindexlength = self.INDEXENTRYLENGTH
500 nodeindexformat = self.NODEINDEXFORMAT
480 nodeindexformat = self.NODEINDEXFORMAT
501 nodeindexlength = self.NODEINDEXENTRYLENGTH
481 nodeindexlength = self.NODEINDEXENTRYLENGTH
502 version = self.VERSION
503
482
504 files = ((hashlib.sha1(filename).digest(), filename, offset, size)
483 files = ((hashlib.sha1(filename).digest(), filename, offset, size)
505 for filename, (offset, size) in self.files.iteritems())
484 for filename, (offset, size) in self.files.iteritems())
@@ -515,31 +494,27 b' class mutablehistorypack(basepack.mutabl'
515 nodecount = 0
494 nodecount = 0
516 for namehash, filename, offset, size in files:
495 for namehash, filename, offset, size in files:
517 # File section index
496 # File section index
518 if version == 0:
497 nodelocations = self.entrylocations[filename]
519 rawentry = struct.pack(fileindexformat, namehash, offset, size)
520 else:
521 nodelocations = self.entrylocations[filename]
522
498
523 nodeindexsize = len(nodelocations) * nodeindexlength
499 nodeindexsize = len(nodelocations) * nodeindexlength
524
500
525 rawentry = struct.pack(fileindexformat, namehash, offset, size,
501 rawentry = struct.pack(fileindexformat, namehash, offset, size,
526 nodeindexoffset, nodeindexsize)
502 nodeindexoffset, nodeindexsize)
527 # Node index
503 # Node index
528 nodeindexentries.append(struct.pack(constants.FILENAMESTRUCT,
504 nodeindexentries.append(struct.pack(constants.FILENAMESTRUCT,
529 len(filename)) + filename)
505 len(filename)) + filename)
530 nodeindexoffset += constants.FILENAMESIZE + len(filename)
506 nodeindexoffset += constants.FILENAMESIZE + len(filename)
531
507
532 for node, location in sorted(nodelocations.iteritems()):
508 for node, location in sorted(nodelocations.iteritems()):
533 nodeindexentries.append(struct.pack(nodeindexformat, node,
509 nodeindexentries.append(struct.pack(nodeindexformat, node,
534 location))
510 location))
535 nodecount += 1
511 nodecount += 1
536
512
537 nodeindexoffset += len(nodelocations) * nodeindexlength
513 nodeindexoffset += len(nodelocations) * nodeindexlength
538
514
539 fileindexentries.append(rawentry)
515 fileindexentries.append(rawentry)
540
516
541 nodecountraw = ''
517 nodecountraw = ''
542 if version == 1:
518 nodecountraw = struct.pack('!Q', nodecount)
543 nodecountraw = struct.pack('!Q', nodecount)
544 return (''.join(fileindexentries) + nodecountraw +
519 return (''.join(fileindexentries) + nodecountraw +
545 ''.join(nodeindexentries))
520 ''.join(nodeindexentries))
@@ -345,10 +345,7 b' def _runrepack(repo, data, history, pack'
345 packer = repacker(repo, data, history, fullhistory, category,
345 packer = repacker(repo, data, history, fullhistory, category,
346 gc=garbagecollect, isold=isold, options=options)
346 gc=garbagecollect, isold=isold, options=options)
347
347
348 # internal config: remotefilelog.datapackversion
348 with datapack.mutabledatapack(repo.ui, packpath, version=2) as dpack:
349 dv = repo.ui.configint('remotefilelog', 'datapackversion', 0)
350
351 with datapack.mutabledatapack(repo.ui, packpath, version=dv) as dpack:
352 with historypack.mutablehistorypack(repo.ui, packpath) as hpack:
349 with historypack.mutablehistorypack(repo.ui, packpath) as hpack:
353 try:
350 try:
354 packer.run(dpack, hpack)
351 packer.run(dpack, hpack)
@@ -107,10 +107,10 b''
107 $ sleep 0.5
107 $ sleep 0.5
108 $ hg debugwaitonrepack >/dev/null 2>%1
108 $ hg debugwaitonrepack >/dev/null 2>%1
109 $ find $CACHEDIR -type f | sort
109 $ find $CACHEDIR -type f | sort
110 $TESTTMP/hgcache/master/packs/94d53eef9e622533aec1fc6d8053cb086e785d21.histidx
110 $TESTTMP/hgcache/master/packs/3616094d229ed39e2593f79c772676d4ec00253a.dataidx
111 $TESTTMP/hgcache/master/packs/94d53eef9e622533aec1fc6d8053cb086e785d21.histpack
111 $TESTTMP/hgcache/master/packs/3616094d229ed39e2593f79c772676d4ec00253a.datapack
112 $TESTTMP/hgcache/master/packs/f3644bc7773e8289deda7f765138120c838f4e6e.dataidx
112 $TESTTMP/hgcache/master/packs/6e8633deba6e544e5f8edbd7b996d6e31a2c42ae.histidx
113 $TESTTMP/hgcache/master/packs/f3644bc7773e8289deda7f765138120c838f4e6e.datapack
113 $TESTTMP/hgcache/master/packs/6e8633deba6e544e5f8edbd7b996d6e31a2c42ae.histpack
114 $TESTTMP/hgcache/master/packs/repacklock
114 $TESTTMP/hgcache/master/packs/repacklock
115 $TESTTMP/hgcache/repos
115 $TESTTMP/hgcache/repos
116
116
@@ -143,10 +143,10 b''
143 $ sleep 1
143 $ sleep 1
144 $ hg debugwaitonrepack >/dev/null 2>%1
144 $ hg debugwaitonrepack >/dev/null 2>%1
145 $ find $CACHEDIR -type f | sort
145 $ find $CACHEDIR -type f | sort
146 $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histidx
146 $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histidx
147 $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histpack
147 $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histpack
148 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.dataidx
148 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.dataidx
149 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack
149 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.datapack
150 $TESTTMP/hgcache/master/packs/repacklock
150 $TESTTMP/hgcache/master/packs/repacklock
151 $TESTTMP/hgcache/repos
151 $TESTTMP/hgcache/repos
152
152
@@ -154,7 +154,7 b''
154 # could only be downloaded by the background prefetch
154 # could only be downloaded by the background prefetch
155
155
156 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
156 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
157 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
157 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
158 w:
158 w:
159 Node Delta Base Delta Length Blob Size
159 Node Delta Base Delta Length Blob Size
160 bb6ccd5dceaa 000000000000 2 2
160 bb6ccd5dceaa 000000000000 2 2
@@ -195,10 +195,10 b''
195 $ sleep 1
195 $ sleep 1
196 $ hg debugwaitonrepack >/dev/null 2>%1
196 $ hg debugwaitonrepack >/dev/null 2>%1
197 $ find $CACHEDIR -type f | sort
197 $ find $CACHEDIR -type f | sort
198 $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histidx
198 $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histidx
199 $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histpack
199 $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histpack
200 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.dataidx
200 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.dataidx
201 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack
201 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.datapack
202 $TESTTMP/hgcache/master/packs/repacklock
202 $TESTTMP/hgcache/master/packs/repacklock
203 $TESTTMP/hgcache/repos
203 $TESTTMP/hgcache/repos
204
204
@@ -206,7 +206,7 b''
206 # could only be downloaded by the background prefetch
206 # could only be downloaded by the background prefetch
207
207
208 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
208 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
209 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
209 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
210 w:
210 w:
211 Node Delta Base Delta Length Blob Size
211 Node Delta Base Delta Length Blob Size
212 bb6ccd5dceaa 000000000000 2 2
212 bb6ccd5dceaa 000000000000 2 2
@@ -249,7 +249,7 b''
249 # could only be downloaded by the background prefetch
249 # could only be downloaded by the background prefetch
250
250
251 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
251 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
252 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
252 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
253 w:
253 w:
254 Node Delta Base Delta Length Blob Size
254 Node Delta Base Delta Length Blob Size
255 bb6ccd5dceaa 000000000000 2 2
255 bb6ccd5dceaa 000000000000 2 2
@@ -287,16 +287,16 b''
287 $ hg debugwaitonrepack >/dev/null 2>%1
287 $ hg debugwaitonrepack >/dev/null 2>%1
288
288
289 $ find $CACHEDIR -type f | sort
289 $ find $CACHEDIR -type f | sort
290 $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histidx
290 $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histidx
291 $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histpack
291 $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histpack
292 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.dataidx
292 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.dataidx
293 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack
293 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.datapack
294 $TESTTMP/hgcache/master/packs/repacklock
294 $TESTTMP/hgcache/master/packs/repacklock
295 $TESTTMP/hgcache/repos
295 $TESTTMP/hgcache/repos
296
296
297 # Ensure that files were prefetched
297 # Ensure that files were prefetched
298 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
298 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
299 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
299 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
300 w:
300 w:
301 Node Delta Base Delta Length Blob Size
301 Node Delta Base Delta Length Blob Size
302 bb6ccd5dceaa 000000000000 2 2
302 bb6ccd5dceaa 000000000000 2 2
@@ -331,16 +331,16 b''
331 $ hg debugwaitonrepack >/dev/null 2>%1
331 $ hg debugwaitonrepack >/dev/null 2>%1
332
332
333 $ find $CACHEDIR -type f | sort
333 $ find $CACHEDIR -type f | sort
334 $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histidx
334 $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histidx
335 $TESTTMP/hgcache/master/packs/27c52c105a1ddf8c75143a6b279b04c24b1f4bee.histpack
335 $TESTTMP/hgcache/master/packs/8f1443d44e57fec96f72fb2412e01d2818767ef2.histpack
336 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.dataidx
336 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.dataidx
337 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0.datapack
337 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46.datapack
338 $TESTTMP/hgcache/master/packs/repacklock
338 $TESTTMP/hgcache/master/packs/repacklock
339 $TESTTMP/hgcache/repos
339 $TESTTMP/hgcache/repos
340
340
341 # Ensure that files were prefetched
341 # Ensure that files were prefetched
342 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
342 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
343 $TESTTMP/hgcache/master/packs/8299d5a1030f073f4adbb3b6bd2ad3bdcc276df0:
343 $TESTTMP/hgcache/master/packs/ac19aff076286bebe3ff108c96c6445a0fe27c46:
344 w:
344 w:
345 Node Delta Base Delta Length Blob Size
345 Node Delta Base Delta Length Blob Size
346 bb6ccd5dceaa 000000000000 2 2
346 bb6ccd5dceaa 000000000000 2 2
@@ -49,15 +49,14 b' class datapacktestsbase(object):'
49 def getFakeHash(self):
49 def getFakeHash(self):
50 return ''.join(chr(random.randint(0, 255)) for _ in range(20))
50 return ''.join(chr(random.randint(0, 255)) for _ in range(20))
51
51
52 def createPack(self, revisions=None, packdir=None, version=0):
52 def createPack(self, revisions=None, packdir=None):
53 if revisions is None:
53 if revisions is None:
54 revisions = [("filename", self.getFakeHash(), nullid, "content")]
54 revisions = [("filename", self.getFakeHash(), nullid, "content")]
55
55
56 if packdir is None:
56 if packdir is None:
57 packdir = self.makeTempDir()
57 packdir = self.makeTempDir()
58
58
59 packer = datapack.mutabledatapack(
59 packer = datapack.mutabledatapack(uimod.ui(), packdir, version=2)
60 uimod.ui(), packdir, version=version)
61
60
62 for args in revisions:
61 for args in revisions:
63 filename, node, base, content = args[0:4]
62 filename, node, base, content = args[0:4]
@@ -175,7 +174,7 b' class datapacktestsbase(object):'
175 'Z': 'random_string',
174 'Z': 'random_string',
176 '_': '\0' * i}
175 '_': '\0' * i}
177 revisions.append((filename, node, nullid, content, meta))
176 revisions.append((filename, node, nullid, content, meta))
178 pack = self.createPack(revisions, version=1)
177 pack = self.createPack(revisions)
179 for name, node, x, content, origmeta in revisions:
178 for name, node, x, content, origmeta in revisions:
180 parsedmeta = pack.getmeta(name, node)
179 parsedmeta = pack.getmeta(name, node)
181 # flag == 0 should be optimized out
180 # flag == 0 should be optimized out
@@ -183,18 +182,6 b' class datapacktestsbase(object):'
183 del origmeta[constants.METAKEYFLAG]
182 del origmeta[constants.METAKEYFLAG]
184 self.assertEquals(parsedmeta, origmeta)
183 self.assertEquals(parsedmeta, origmeta)
185
184
186 def testPackMetadataThrows(self):
187 filename = '1'
188 content = '2'
189 node = self.getHash(content)
190 meta = {constants.METAKEYFLAG: 3}
191 revisions = [(filename, node, nullid, content, meta)]
192 try:
193 self.createPack(revisions, version=0)
194 self.assertTrue(False, "should throw if metadata is not supported")
195 except RuntimeError:
196 pass
197
198 def testGetMissing(self):
185 def testGetMissing(self):
199 """Test the getmissing() api.
186 """Test the getmissing() api.
200 """
187 """
@@ -90,10 +90,10 b''
90
90
91 # Ensure that loose files are repacked
91 # Ensure that loose files are repacked
92 $ find $CACHEDIR -type f | sort
92 $ find $CACHEDIR -type f | sort
93 $TESTTMP/hgcache/master/packs/8d3499c65d926e4f107cf03c6b0df833222025b4.histidx
93 $TESTTMP/hgcache/master/packs/173691d550fabb9d33db8da192f1c9bc62dd11a4.dataidx
94 $TESTTMP/hgcache/master/packs/8d3499c65d926e4f107cf03c6b0df833222025b4.histpack
94 $TESTTMP/hgcache/master/packs/173691d550fabb9d33db8da192f1c9bc62dd11a4.datapack
95 $TESTTMP/hgcache/master/packs/9c7046f8cad0417c39aa7c03ce13e0ba991306c2.dataidx
95 $TESTTMP/hgcache/master/packs/837b83c1ef6485a336eb4421ac5973c0ec130fbb.histidx
96 $TESTTMP/hgcache/master/packs/9c7046f8cad0417c39aa7c03ce13e0ba991306c2.datapack
96 $TESTTMP/hgcache/master/packs/837b83c1ef6485a336eb4421ac5973c0ec130fbb.histpack
97 $TESTTMP/hgcache/master/packs/repacklock
97 $TESTTMP/hgcache/master/packs/repacklock
98 $TESTTMP/hgcache/repos
98 $TESTTMP/hgcache/repos
99
99
@@ -45,13 +45,13 b''
45 $ hg debugwaitonrepack >/dev/null 2>%1
45 $ hg debugwaitonrepack >/dev/null 2>%1
46
46
47 $ find $CACHEDIR | sort | grep ".datapack\|.histpack"
47 $ find $CACHEDIR | sort | grep ".datapack\|.histpack"
48 $TESTTMP/hgcache/master/packs/9a2ea858fe2967db9b6ea4c0ca238881cae9d6eb.histpack
48 $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack
49 $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack
49 $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack
50
50
51 # Ensure that all file versions were prefetched
51 # Ensure that all file versions were prefetched
52
52
53 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
53 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
54 $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4:
54 $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1:
55 x:
55 x:
56 Node Delta Base Delta Length Blob Size
56 Node Delta Base Delta Length Blob Size
57 1406e7411862 000000000000 2 2
57 1406e7411862 000000000000 2 2
@@ -78,14 +78,14 b''
78 $ hg debugwaitonrepack >/dev/null 2>%1
78 $ hg debugwaitonrepack >/dev/null 2>%1
79
79
80 $ find $CACHEDIR | sort | grep ".datapack\|.histpack"
80 $ find $CACHEDIR | sort | grep ".datapack\|.histpack"
81 $TESTTMP/hgcache/master/packs/05baa499c6b07f2bf0ea3d2c8151da1cb86f5e33.datapack
81 $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack
82 $TESTTMP/hgcache/master/packs/9a2ea858fe2967db9b6ea4c0ca238881cae9d6eb.histpack
82 $TESTTMP/hgcache/master/packs/b868298fad9bf477b4e9d9455226c440b0135fe6.datapack
83
83
84 # Ensure that file 'x' was garbage collected. It should be GCed because it is not in the keepset
84 # Ensure that file 'x' was garbage collected. It should be GCed because it is not in the keepset
85 # and is old (commit date is 0.0 in tests). Ensure that file 'y' is present as it is in the keepset.
85 # and is old (commit date is 0.0 in tests). Ensure that file 'y' is present as it is in the keepset.
86
86
87 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
87 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
88 $TESTTMP/hgcache/master/packs/05baa499c6b07f2bf0ea3d2c8151da1cb86f5e33:
88 $TESTTMP/hgcache/master/packs/b868298fad9bf477b4e9d9455226c440b0135fe6:
89 y:
89 y:
90 Node Delta Base Delta Length Blob Size
90 Node Delta Base Delta Length Blob Size
91 50dbc4572b8e 000000000000 3 3
91 50dbc4572b8e 000000000000 3 3
@@ -106,13 +106,13 b''
106 $ hg debugwaitonrepack >/dev/null 2>%1
106 $ hg debugwaitonrepack >/dev/null 2>%1
107
107
108 $ find $CACHEDIR | sort | grep ".datapack\|.histpack"
108 $ find $CACHEDIR | sort | grep ".datapack\|.histpack"
109 $TESTTMP/hgcache/master/packs/9a2ea858fe2967db9b6ea4c0ca238881cae9d6eb.histpack
109 $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack
110 $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack
110 $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack
111
111
112 # Ensure that all file versions were prefetched
112 # Ensure that all file versions were prefetched
113
113
114 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
114 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
115 $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4:
115 $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1:
116 x:
116 x:
117 Node Delta Base Delta Length Blob Size
117 Node Delta Base Delta Length Blob Size
118 1406e7411862 000000000000 2 2
118 1406e7411862 000000000000 2 2
@@ -140,13 +140,13 b''
140 $ hg debugwaitonrepack >/dev/null 2>%1
140 $ hg debugwaitonrepack >/dev/null 2>%1
141
141
142 $ find $CACHEDIR | sort | grep ".datapack\|.histpack"
142 $ find $CACHEDIR | sort | grep ".datapack\|.histpack"
143 $TESTTMP/hgcache/master/packs/9a2ea858fe2967db9b6ea4c0ca238881cae9d6eb.histpack
143 $TESTTMP/hgcache/master/packs/7bcd2d90b99395ca43172a0dd24e18860b2902f9.histpack
144 $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4.datapack
144 $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1.datapack
145
145
146 # Ensure that all file versions were prefetched
146 # Ensure that all file versions were prefetched
147
147
148 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
148 $ hg debugdatapack `ls -ct $TESTTMP/hgcache/master/packs/*.datapack | head -n 1`
149 $TESTTMP/hgcache/master/packs/f7a942a6e4673d2c7b697fdd926ca2d153831ca4:
149 $TESTTMP/hgcache/master/packs/be1bfed71a51645d8c3b9dc73e234e3a8ff06ac1:
150 x:
150 x:
151 Node Delta Base Delta Length Blob Size
151 Node Delta Base Delta Length Blob Size
152 1406e7411862 000000000000 2 2
152 1406e7411862 000000000000 2 2
@@ -55,7 +55,7 b' class histpacktests(unittest.TestCase):'
55
55
56 packdir = self.makeTempDir()
56 packdir = self.makeTempDir()
57 packer = historypack.mutablehistorypack(uimod.ui(), packdir,
57 packer = historypack.mutablehistorypack(uimod.ui(), packdir,
58 version=1)
58 version=2)
59
59
60 for filename, node, p1, p2, linknode, copyfrom in revisions:
60 for filename, node, p1, p2, linknode, copyfrom in revisions:
61 packer.add(filename, node, p1, p2, linknode, copyfrom)
61 packer.add(filename, node, p1, p2, linknode, copyfrom)
@@ -50,19 +50,19 b''
50 $TESTTMP/hgcache
50 $TESTTMP/hgcache
51 $TESTTMP/hgcache/master
51 $TESTTMP/hgcache/master
52 $TESTTMP/hgcache/master/packs
52 $TESTTMP/hgcache/master/packs
53 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
53 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
54 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
54 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
55 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
55 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
56 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
56 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
57 $TESTTMP/hgcache/master/packs/repacklock
57 $TESTTMP/hgcache/master/packs/repacklock
58 $TESTTMP/hgcache/repos
58 $TESTTMP/hgcache/repos
59
59
60 # Test that the packs are readonly
60 # Test that the packs are readonly
61 $ ls_l $CACHEDIR/master/packs
61 $ ls_l $CACHEDIR/master/packs
62 -r--r--r-- 1145 276d308429d0303762befa376788300f0310f90e.histidx
62 -r--r--r-- 1145 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
63 -r--r--r-- 172 276d308429d0303762befa376788300f0310f90e.histpack
63 -r--r--r-- 172 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
64 -r--r--r-- 1074 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
64 -r--r--r-- 1074 add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
65 -r--r--r-- 69 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
65 -r--r--r-- 69 add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
66 -rw-r--r-- 0 repacklock
66 -rw-r--r-- 0 repacklock
67
67
68 # Test that the data in the new packs is accessible
68 # Test that the data in the new packs is accessible
@@ -83,20 +83,20 b''
83
83
84 $ find $CACHEDIR -type f | sort
84 $ find $CACHEDIR -type f | sort
85 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
85 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
86 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
86 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
87 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
87 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
88 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
88 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
89 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
89 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
90 $TESTTMP/hgcache/master/packs/repacklock
90 $TESTTMP/hgcache/master/packs/repacklock
91 $TESTTMP/hgcache/repos
91 $TESTTMP/hgcache/repos
92
92
93 $ hg repack --traceback
93 $ hg repack --traceback
94
94
95 $ find $CACHEDIR -type f | sort
95 $ find $CACHEDIR -type f | sort
96 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
96 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
97 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
97 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
98 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
98 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
99 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
99 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
100 $TESTTMP/hgcache/master/packs/repacklock
100 $TESTTMP/hgcache/master/packs/repacklock
101 $TESTTMP/hgcache/repos
101 $TESTTMP/hgcache/repos
102
102
@@ -113,10 +113,10 b''
113 # and did not change the pack names
113 # and did not change the pack names
114 $ hg repack
114 $ hg repack
115 $ find $CACHEDIR -type f | sort
115 $ find $CACHEDIR -type f | sort
116 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
116 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
117 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
117 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
118 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
118 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
119 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
119 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
120 $TESTTMP/hgcache/master/packs/repacklock
120 $TESTTMP/hgcache/master/packs/repacklock
121 $TESTTMP/hgcache/repos
121 $TESTTMP/hgcache/repos
122
122
@@ -137,10 +137,10 b''
137 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
137 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
138 $ find $CACHEDIR -type f | sort
138 $ find $CACHEDIR -type f | sort
139 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/1bb2e6237e035c8f8ef508e281f1ce075bc6db72
139 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/1bb2e6237e035c8f8ef508e281f1ce075bc6db72
140 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
140 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
141 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
141 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
142 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
142 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
143 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
143 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
144 $TESTTMP/hgcache/master/packs/repacklock
144 $TESTTMP/hgcache/master/packs/repacklock
145 $TESTTMP/hgcache/repos
145 $TESTTMP/hgcache/repos
146
146
@@ -149,17 +149,17 b''
149 $ sleep 0.5
149 $ sleep 0.5
150 $ hg debugwaitonrepack >/dev/null 2>&1
150 $ hg debugwaitonrepack >/dev/null 2>&1
151 $ find $CACHEDIR -type f | sort
151 $ find $CACHEDIR -type f | sort
152 $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histidx
152 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.dataidx
153 $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histpack
153 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack
154 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.dataidx
154 $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histidx
155 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
155 $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histpack
156 $TESTTMP/hgcache/master/packs/repacklock
156 $TESTTMP/hgcache/master/packs/repacklock
157 $TESTTMP/hgcache/repos
157 $TESTTMP/hgcache/repos
158
158
159 # Test debug commands
159 # Test debug commands
160
160
161 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
161 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
162 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
162 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
163 x:
163 x:
164 Node Delta Base Delta Length Blob Size
164 Node Delta Base Delta Length Blob Size
165 1bb2e6237e03 000000000000 8 8
165 1bb2e6237e03 000000000000 8 8
@@ -168,7 +168,7 b''
168
168
169 Total: 32 18 (77.8% bigger)
169 Total: 32 18 (77.8% bigger)
170 $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack
170 $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack
171 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
171 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
172 x:
172 x:
173 Node Delta Base Delta Length Blob Size
173 Node Delta Base Delta Length Blob Size
174 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8
174 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8
@@ -177,7 +177,7 b''
177
177
178 Total: 32 18 (77.8% bigger)
178 Total: 32 18 (77.8% bigger)
179 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216
179 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216
180 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
180 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
181
181
182 x
182 x
183 Node Delta Base Delta SHA1 Delta Length
183 Node Delta Base Delta SHA1 Delta Length
@@ -226,10 +226,10 b''
226 2 files fetched over 2 fetches - (2 misses, 0.00% hit ratio) over * (glob)
226 2 files fetched over 2 fetches - (2 misses, 0.00% hit ratio) over * (glob)
227 $ hg repack
227 $ hg repack
228 $ ls $TESTTMP/hgcache/master/packs
228 $ ls $TESTTMP/hgcache/master/packs
229 e8fdf7ae22b772dcc291f905b9c6e5f381d28739.dataidx
229 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.dataidx
230 e8fdf7ae22b772dcc291f905b9c6e5f381d28739.datapack
230 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.datapack
231 ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histidx
231 bfd60adb76018bb952e27cd23fc151bf94865d7d.histidx
232 ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histpack
232 bfd60adb76018bb952e27cd23fc151bf94865d7d.histpack
233 repacklock
233 repacklock
234 $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx
234 $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx
235
235
@@ -259,7 +259,7 b''
259 $ rm -rf $CACHEDIR/master/packs/*hist*
259 $ rm -rf $CACHEDIR/master/packs/*hist*
260 $ hg repack
260 $ hg repack
261 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
261 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
262 $TESTTMP/hgcache/master/packs/a8d86ff8e1a11a77a85f5fea567f56a757583eda:
262 $TESTTMP/hgcache/master/packs/ba4649b56263282b0699f9a6e7e34a4a2bac1638:
263 x:
263 x:
264 Node Delta Base Delta Length Blob Size
264 Node Delta Base Delta Length Blob Size
265 1bb2e6237e03 000000000000 8 8
265 1bb2e6237e03 000000000000 8 8
@@ -296,9 +296,9 b' Single pack - repack does nothing'
296 [1]
296 [1]
297 $ hg repack --incremental
297 $ hg repack --incremental
298 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
298 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
299 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
299 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
300 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
300 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
301 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
301 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
302
302
303 3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1
303 3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1
304 $ hg prefetch -r 1
304 $ hg prefetch -r 1
@@ -308,25 +308,25 b' 3 gen1 packs, 1 gen0 pack - packs 3 gen1'
308 $ hg prefetch -r 3
308 $ hg prefetch -r 3
309 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
309 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
310 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
310 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
311 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
311 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
312 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
312 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
313 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
313 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
314 $ hg repack --incremental
314 $ hg repack --incremental
315 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
315 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
316 -r--r--r-- 225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
316 -r--r--r-- 225 06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack
317 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
317 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
318 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
318 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
319 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
319 -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack
320 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
320 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
321
321
322 1 gen3 pack, 1 gen0 pack - does nothing
322 1 gen3 pack, 1 gen0 pack - does nothing
323 $ hg repack --incremental
323 $ hg repack --incremental
324 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
324 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
325 -r--r--r-- 225 8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
325 -r--r--r-- 225 06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack
326 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
326 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
327 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
327 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
328 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
328 -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack
329 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
329 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
330
330
331 Pull should run background repack
331 Pull should run background repack
332 $ cat >> .hg/hgrc <<EOF
332 $ cat >> .hg/hgrc <<EOF
@@ -351,9 +351,9 b' Pull should run background repack'
351 $ sleep 0.5
351 $ sleep 0.5
352 $ hg debugwaitonrepack >/dev/null 2>&1
352 $ hg debugwaitonrepack >/dev/null 2>&1
353 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
353 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
354 -r--r--r-- 301 09b8bf49256b3fc2175977ba97d6402e91a9a604.datapack
354 -r--r--r-- 301 671913bebdb7b95aae52a546662753eac7606e40.datapack
355 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
355 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
356 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
356 -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack
357
357
358 Test environment variable resolution
358 Test environment variable resolution
359 $ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH'
359 $ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH'
@@ -45,19 +45,19 b''
45 $TESTTMP/hgcache
45 $TESTTMP/hgcache
46 $TESTTMP/hgcache/master
46 $TESTTMP/hgcache/master
47 $TESTTMP/hgcache/master/packs
47 $TESTTMP/hgcache/master/packs
48 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
48 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
49 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
49 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
50 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
50 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
51 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
51 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
52 $TESTTMP/hgcache/master/packs/repacklock
52 $TESTTMP/hgcache/master/packs/repacklock
53 $TESTTMP/hgcache/repos
53 $TESTTMP/hgcache/repos
54
54
55 # Test that the packs are readonly
55 # Test that the packs are readonly
56 $ ls_l $CACHEDIR/master/packs
56 $ ls_l $CACHEDIR/master/packs
57 -r--r--r-- 1145 276d308429d0303762befa376788300f0310f90e.histidx
57 -r--r--r-- 1145 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
58 -r--r--r-- 172 276d308429d0303762befa376788300f0310f90e.histpack
58 -r--r--r-- 172 1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
59 -r--r--r-- 1074 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
59 -r--r--r-- 1074 add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
60 -r--r--r-- 69 8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
60 -r--r--r-- 69 add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
61 -rw-r--r-- 0 repacklock
61 -rw-r--r-- 0 repacklock
62
62
63 # Test that the data in the new packs is accessible
63 # Test that the data in the new packs is accessible
@@ -78,10 +78,10 b''
78
78
79 $ find $CACHEDIR -type f | sort
79 $ find $CACHEDIR -type f | sort
80 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
80 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
81 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
81 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
82 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
82 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
83 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
83 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
84 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
84 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
85 $TESTTMP/hgcache/master/packs/repacklock
85 $TESTTMP/hgcache/master/packs/repacklock
86 $TESTTMP/hgcache/repos
86 $TESTTMP/hgcache/repos
87
87
@@ -91,20 +91,20 b''
91
91
92 $ find $CACHEDIR -type f | sort
92 $ find $CACHEDIR -type f | sort
93 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
93 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/d4a3ed9310e5bd9887e3bf779da5077efab28216
94 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histidx
94 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histidx
95 $TESTTMP/hgcache/master/packs/276d308429d0303762befa376788300f0310f90e.histpack
95 $TESTTMP/hgcache/master/packs/1e91b207daf5d7b48f1be9c587d6b5ae654ce78c.histpack
96 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.dataidx
96 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.dataidx
97 $TESTTMP/hgcache/master/packs/8e25dec685d5e0bb1f1b39df3acebda0e0d75c6e.datapack
97 $TESTTMP/hgcache/master/packs/add67cb28ae0a2962111588ce49467ca9ebb9195.datapack
98 $TESTTMP/hgcache/master/packs/repacklock
98 $TESTTMP/hgcache/master/packs/repacklock
99 $TESTTMP/hgcache/repos
99 $TESTTMP/hgcache/repos
100
100
101 $ hg repack --traceback
101 $ hg repack --traceback
102
102
103 $ find $CACHEDIR -type f | sort
103 $ find $CACHEDIR -type f | sort
104 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
104 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
105 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
105 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
106 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
106 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
107 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
107 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
108 $TESTTMP/hgcache/master/packs/repacklock
108 $TESTTMP/hgcache/master/packs/repacklock
109 $TESTTMP/hgcache/repos
109 $TESTTMP/hgcache/repos
110
110
@@ -121,10 +121,10 b''
121 # and did not change the pack names
121 # and did not change the pack names
122 $ hg repack
122 $ hg repack
123 $ find $CACHEDIR -type f | sort
123 $ find $CACHEDIR -type f | sort
124 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
124 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
125 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
125 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
126 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
126 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
127 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
127 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
128 $TESTTMP/hgcache/master/packs/repacklock
128 $TESTTMP/hgcache/master/packs/repacklock
129 $TESTTMP/hgcache/repos
129 $TESTTMP/hgcache/repos
130
130
@@ -145,10 +145,10 b''
145 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
145 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
146 $ find $CACHEDIR -type f | sort
146 $ find $CACHEDIR -type f | sort
147 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/1bb2e6237e035c8f8ef508e281f1ce075bc6db72
147 $TESTTMP/hgcache/master/11/f6ad8ec52a2984abaafd7c3b516503785c2072/1bb2e6237e035c8f8ef508e281f1ce075bc6db72
148 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histidx
148 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.dataidx
149 $TESTTMP/hgcache/master/packs/077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
149 $TESTTMP/hgcache/master/packs/1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
150 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.dataidx
150 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histidx
151 $TESTTMP/hgcache/master/packs/935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
151 $TESTTMP/hgcache/master/packs/8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
152 $TESTTMP/hgcache/master/packs/repacklock
152 $TESTTMP/hgcache/master/packs/repacklock
153 $TESTTMP/hgcache/repos
153 $TESTTMP/hgcache/repos
154
154
@@ -157,17 +157,17 b''
157 $ sleep 0.5
157 $ sleep 0.5
158 $ hg debugwaitonrepack >/dev/null 2>&1
158 $ hg debugwaitonrepack >/dev/null 2>&1
159 $ find $CACHEDIR -type f | sort
159 $ find $CACHEDIR -type f | sort
160 $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histidx
160 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.dataidx
161 $TESTTMP/hgcache/master/packs/094b530486dad4427a0faf6bcbc031571b99ca24.histpack
161 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123.datapack
162 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.dataidx
162 $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histidx
163 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15.datapack
163 $TESTTMP/hgcache/master/packs/604552d403a1381749faf656feca0ca265a6d52c.histpack
164 $TESTTMP/hgcache/master/packs/repacklock
164 $TESTTMP/hgcache/master/packs/repacklock
165 $TESTTMP/hgcache/repos
165 $TESTTMP/hgcache/repos
166
166
167 # Test debug commands
167 # Test debug commands
168
168
169 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
169 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
170 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
170 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
171 x:
171 x:
172 Node Delta Base Delta Length Blob Size
172 Node Delta Base Delta Length Blob Size
173 1bb2e6237e03 000000000000 8 8
173 1bb2e6237e03 000000000000 8 8
@@ -176,7 +176,7 b''
176
176
177 Total: 32 18 (77.8% bigger)
177 Total: 32 18 (77.8% bigger)
178 $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack
178 $ hg debugdatapack --long $TESTTMP/hgcache/master/packs/*.datapack
179 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
179 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
180 x:
180 x:
181 Node Delta Base Delta Length Blob Size
181 Node Delta Base Delta Length Blob Size
182 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8
182 1bb2e6237e035c8f8ef508e281f1ce075bc6db72 0000000000000000000000000000000000000000 8 8
@@ -185,7 +185,7 b''
185
185
186 Total: 32 18 (77.8% bigger)
186 Total: 32 18 (77.8% bigger)
187 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216
187 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack --node d4a3ed9310e5bd9887e3bf779da5077efab28216
188 $TESTTMP/hgcache/master/packs/8fe685c56f6f7edf550bfcec74eeecc5f3c2ba15:
188 $TESTTMP/hgcache/master/packs/06ae46494f0e3b9beda53eae8fc0e55139f13123:
189
189
190 x
190 x
191 Node Delta Base Delta SHA1 Delta Length
191 Node Delta Base Delta SHA1 Delta Length
@@ -234,10 +234,10 b''
234 2 files fetched over 2 fetches - (2 misses, 0.00% hit ratio) over * (glob)
234 2 files fetched over 2 fetches - (2 misses, 0.00% hit ratio) over * (glob)
235 $ hg repack
235 $ hg repack
236 $ ls $TESTTMP/hgcache/master/packs
236 $ ls $TESTTMP/hgcache/master/packs
237 e8fdf7ae22b772dcc291f905b9c6e5f381d28739.dataidx
237 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.dataidx
238 e8fdf7ae22b772dcc291f905b9c6e5f381d28739.datapack
238 308a7aba9c54a0b71ae5adbbccd00c0aff20876e.datapack
239 ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histidx
239 bfd60adb76018bb952e27cd23fc151bf94865d7d.histidx
240 ebbd7411e00456c0eec8d1150a77e2b3ef490f3f.histpack
240 bfd60adb76018bb952e27cd23fc151bf94865d7d.histpack
241 repacklock
241 repacklock
242 $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx
242 $ hg debughistorypack $TESTTMP/hgcache/master/packs/*.histidx
243
243
@@ -267,7 +267,7 b''
267 $ rm -rf $CACHEDIR/master/packs/*hist*
267 $ rm -rf $CACHEDIR/master/packs/*hist*
268 $ hg repack
268 $ hg repack
269 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
269 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.datapack
270 $TESTTMP/hgcache/master/packs/a8d86ff8e1a11a77a85f5fea567f56a757583eda:
270 $TESTTMP/hgcache/master/packs/ba4649b56263282b0699f9a6e7e34a4a2bac1638:
271 x:
271 x:
272 Node Delta Base Delta Length Blob Size
272 Node Delta Base Delta Length Blob Size
273 1bb2e6237e03 000000000000 8 8
273 1bb2e6237e03 000000000000 8 8
@@ -304,9 +304,9 b' Single pack - repack does nothing'
304 [1]
304 [1]
305 $ hg repack --incremental
305 $ hg repack --incremental
306 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
306 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
307 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
307 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
308 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
308 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
309 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
309 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
310
310
311 3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1
311 3 gen1 packs, 1 gen0 pack - packs 3 gen1 into 1
312 $ hg prefetch -r 1
312 $ hg prefetch -r 1
@@ -317,9 +317,9 b' 3 gen1 packs, 1 gen0 pack - packs 3 gen1'
317 abort: unknown revision '38'!
317 abort: unknown revision '38'!
318 [255]
318 [255]
319 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
319 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
320 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
320 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
321 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
321 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
322 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
322 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
323
323
324 For the data packs, setting the limit for the repackmaxpacksize to be 64 such
324 For the data packs, setting the limit for the repackmaxpacksize to be 64 such
325 that data pack with size 65 is more than the limit. This effectively ensures
325 that data pack with size 65 is more than the limit. This effectively ensures
@@ -329,31 +329,31 b' 0 which should always result in no repac'
329 $ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=64 \
329 $ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=64 \
330 > --config remotefilelog.history.repackmaxpacksize=0
330 > --config remotefilelog.history.repackmaxpacksize=0
331 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
331 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
332 -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
332 -r--r--r-- 147 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
333 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
333 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
334 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
334 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
335 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
335 -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
336 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
336 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
337
337
338 Setting limit for the repackmaxpacksize to be the size of the biggest pack file
338 Setting limit for the repackmaxpacksize to be the size of the biggest pack file
339 which ensures that it is effectively ignored in the incremental repacking.
339 which ensures that it is effectively ignored in the incremental repacking.
340 $ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=65 \
340 $ hg repack --incremental --config remotefilelog.data.repackmaxpacksize=65 \
341 > --config remotefilelog.history.repackmaxpacksize=336
341 > --config remotefilelog.history.repackmaxpacksize=336
342 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
342 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
343 -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
343 -r--r--r-- 147 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
344 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
344 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
345 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
345 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
346 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
346 -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
347 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
347 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
348
348
349 1 gen3 pack, 1 gen0 pack - does nothing
349 1 gen3 pack, 1 gen0 pack - does nothing
350 $ hg repack --incremental
350 $ hg repack --incremental
351 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
351 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
352 -r--r--r-- 147 935861cae0be6ce41a0d47a529e4d097e9e68a69.datapack
352 -r--r--r-- 147 1bd27e610ee06450e5f3bb0cd3afb6870e4cf375.datapack
353 -r--r--r-- 67 b5a62f3496ccbd2479497cdbc7345f3304735f33.datapack
353 -r--r--r-- 67 6409c5a1d61b251906689d4d1282ac44df6a7898.datapack
354 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
354 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
355 -r--r--r-- 254 077e7ce5dfe862dc40cc8f3c9742d96a056865f2.histpack
355 -r--r--r-- 254 8abe7889aae389337d12ebe6085d4ee13854c7c9.histpack
356 -r--r--r-- 90 c3399b56e035f73c3295276ed098235a08a0ed8c.histpack
356 -r--r--r-- 90 955a622173324b2d8b53e1147f209f1cf125302e.histpack
357
357
358 Pull should run background repack
358 Pull should run background repack
359 $ cat >> .hg/hgrc <<EOF
359 $ cat >> .hg/hgrc <<EOF
@@ -378,9 +378,9 b' Pull should run background repack'
378 $ sleep 0.5
378 $ sleep 0.5
379 $ hg debugwaitonrepack >/dev/null 2>&1
379 $ hg debugwaitonrepack >/dev/null 2>&1
380 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
380 $ ls_l $TESTTMP/hgcache/master/packs/ | grep datapack
381 -r--r--r-- 301 09b8bf49256b3fc2175977ba97d6402e91a9a604.datapack
381 -r--r--r-- 301 671913bebdb7b95aae52a546662753eac7606e40.datapack
382 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
382 $ ls_l $TESTTMP/hgcache/master/packs/ | grep histpack
383 -r--r--r-- 336 094b530486dad4427a0faf6bcbc031571b99ca24.histpack
383 -r--r--r-- 336 604552d403a1381749faf656feca0ca265a6d52c.histpack
384
384
385 Test environment variable resolution
385 Test environment variable resolution
386 $ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH'
386 $ CACHEPATH=$TESTTMP/envcache hg prefetch --config 'remotefilelog.cachepath=$CACHEPATH'
@@ -414,7 +414,7 b' Test local remotefilelog blob is correct'
414 Test limiting the max delta chain length
414 Test limiting the max delta chain length
415 $ hg repack --config packs.maxchainlen=1
415 $ hg repack --config packs.maxchainlen=1
416 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.dataidx
416 $ hg debugdatapack $TESTTMP/hgcache/master/packs/*.dataidx
417 $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742:
417 $TESTTMP/hgcache/master/packs/80f7c299aeb22849ebc28fbd11bb76078aa55918:
418 x:
418 x:
419 Node Delta Base Delta Length Blob Size
419 Node Delta Base Delta Length Blob Size
420 1bb2e6237e03 000000000000 8 8
420 1bb2e6237e03 000000000000 8 8
@@ -432,8 +432,8 b' Test limiting the max delta chain length'
432 Test huge pack cleanup using different values of packs.maxpacksize:
432 Test huge pack cleanup using different values of packs.maxpacksize:
433 $ hg repack --incremental --debug
433 $ hg repack --incremental --debug
434 $ hg repack --incremental --debug --config packs.maxpacksize=512
434 $ hg repack --incremental --debug --config packs.maxpacksize=512
435 removing oversize packfile $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742.datapack (426 bytes)
435 removing oversize packfile $TESTTMP/hgcache/master/packs/80f7c299aeb22849ebc28fbd11bb76078aa55918.datapack (426 bytes)
436 removing oversize packfile $TESTTMP/hgcache/master/packs/a8378d888fe4325250720e51311a65d2509be742.dataidx (1.21 KB)
436 removing oversize packfile $TESTTMP/hgcache/master/packs/80f7c299aeb22849ebc28fbd11bb76078aa55918.dataidx (1.21 KB)
437
437
438 Do a repack where the new pack reuses a delta from the old pack
438 Do a repack where the new pack reuses a delta from the old pack
439 $ clearcache
439 $ clearcache
@@ -441,7 +441,7 b' Do a repack where the new pack reuses a '
441 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob)
441 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob)
442 $ hg repack
442 $ hg repack
443 $ hg debugdatapack $CACHEDIR/master/packs/*.datapack
443 $ hg debugdatapack $CACHEDIR/master/packs/*.datapack
444 $TESTTMP/hgcache/master/packs/abf210f6c3aa4dd0ecc7033633ad73591be16c95:
444 $TESTTMP/hgcache/master/packs/90cfb1a45e2549500caace30add04b58a6b243af:
445 x:
445 x:
446 Node Delta Base Delta Length Blob Size
446 Node Delta Base Delta Length Blob Size
447 1bb2e6237e03 000000000000 8 8
447 1bb2e6237e03 000000000000 8 8
@@ -452,7 +452,7 b' Do a repack where the new pack reuses a '
452 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob)
452 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob)
453 $ hg repack
453 $ hg repack
454 $ hg debugdatapack $CACHEDIR/master/packs/*.datapack
454 $ hg debugdatapack $CACHEDIR/master/packs/*.datapack
455 $TESTTMP/hgcache/master/packs/09b8bf49256b3fc2175977ba97d6402e91a9a604:
455 $TESTTMP/hgcache/master/packs/671913bebdb7b95aae52a546662753eac7606e40:
456 x:
456 x:
457 Node Delta Base Delta Length Blob Size
457 Node Delta Base Delta Length Blob Size
458 1bb2e6237e03 000000000000 8 8
458 1bb2e6237e03 000000000000 8 8
General Comments 0
You need to be logged in to leave comments. Login now