comparison mercurial/debugcommands.py @ 35728:22a877215ea1

debugdeltachain: cleanup the double call to _slicechunk Follow-up to Yuya's review on 43154a76f3927c4f0c8c6b02be80f0069c7d8fdb: > Nit: hasattr() isn't necessary. revlog._slicechunk() is used in the previous > block. hasattr() isn't necessary indeed, as we are protected by the withsparseread option, which was introduced at the same time as revlog._slicechunk, in e2ad93bcc084b97c48f54c179365376edb702858. And, as Yuya noticed, _slicechunk could be called only once.
author Paul Morelle <paul.morelle@octobus.net>
date Fri, 19 Jan 2018 08:35:22 +0100
parents 43154a76f392
children 05d415790761
comparison
equal deleted inserted replaced
35727:05c70675e5b9 35728:22a877215ea1
682 chainratio=chainratio, lindist=lineardist, 682 chainratio=chainratio, lindist=lineardist,
683 extradist=extradist, extraratio=extraratio) 683 extradist=extradist, extraratio=extraratio)
684 if withsparseread: 684 if withsparseread:
685 readsize = 0 685 readsize = 0
686 largestblock = 0 686 largestblock = 0
687 srchunks = 0
688
687 for revschunk in revlog._slicechunk(r, chain): 689 for revschunk in revlog._slicechunk(r, chain):
690 srchunks += 1
688 blkend = start(revschunk[-1]) + length(revschunk[-1]) 691 blkend = start(revschunk[-1]) + length(revschunk[-1])
689 blksize = blkend - start(revschunk[0]) 692 blksize = blkend - start(revschunk[0])
690 693
691 readsize += blksize 694 readsize += blksize
692 if largestblock < blksize: 695 if largestblock < blksize:
693 largestblock = blksize 696 largestblock = blksize
694 697
695 readdensity = float(chainsize) / float(readsize) 698 readdensity = float(chainsize) / float(readsize)
696
697 if util.safehasattr(revlog, '_slicechunk'):
698 revchunks = tuple(revlog._slicechunk(r, chain))
699 else:
700 revchunks = (chain,)
701 srchunks = len(revchunks)
702 699
703 fm.write('readsize largestblock readdensity srchunks', 700 fm.write('readsize largestblock readdensity srchunks',
704 ' %10d %10d %9.5f %8d', 701 ' %10d %10d %9.5f %8d',
705 readsize, largestblock, readdensity, srchunks, 702 readsize, largestblock, readdensity, srchunks,
706 readsize=readsize, largestblock=largestblock, 703 readsize=readsize, largestblock=largestblock,