mercurial/debugcommands.py
changeset 49221 75d0775dce7f
parent 49219 0a86cb154e83
child 49222 e7d23c512d3d
equal deleted inserted replaced
49220:3376b5d9a697 49221:75d0775dce7f
   756     """dump information about delta chains in a revlog
   756     """dump information about delta chains in a revlog
   757 
   757 
   758     Output can be templatized. Available template keywords are:
   758     Output can be templatized. Available template keywords are:
   759 
   759 
   760     :``rev``:       revision number
   760     :``rev``:       revision number
       
   761     :``p1``:        parent 1 revision number (for reference)
       
   762     :``p2``:        parent 2 revision number (for reference)
   761     :``chainid``:   delta chain identifier (numbered by unique base)
   763     :``chainid``:   delta chain identifier (numbered by unique base)
   762     :``chainlen``:  delta chain length to this revision
   764     :``chainlen``:  delta chain length to this revision
   763     :``prevrev``:   previous revision in delta chain
   765     :``prevrev``:   previous revision in delta chain
   764     :``deltatype``: role of delta / how it was computed
   766     :``deltatype``: role of delta / how it was computed
   765     :``compsize``:  compressed size of revision
   767     :``compsize``:  compressed size of revision
   827         chain = r._deltachain(rev)[0]
   829         chain = r._deltachain(rev)[0]
   828         for iterrev in chain:
   830         for iterrev in chain:
   829             e = index[iterrev]
   831             e = index[iterrev]
   830             chainsize += e[revlog_constants.ENTRY_DATA_COMPRESSED_LENGTH]
   832             chainsize += e[revlog_constants.ENTRY_DATA_COMPRESSED_LENGTH]
   831 
   833 
   832         return compsize, uncompsize, deltatype, chain, chainsize
   834         return p1, p2, compsize, uncompsize, deltatype, chain, chainsize
   833 
   835 
   834     fm = ui.formatter(b'debugdeltachain', opts)
   836     fm = ui.formatter(b'debugdeltachain', opts)
   835 
   837 
   836     fm.plain(
   838     fm.plain(
   837         b'    rev  chain# chainlen     prev   delta       '
   839         b'    rev      p1      p2  chain# chainlen     prev   delta       '
   838         b'size    rawsize  chainsize     ratio   lindist extradist '
   840         b'size    rawsize  chainsize     ratio   lindist extradist '
   839         b'extraratio'
   841         b'extraratio'
   840     )
   842     )
   841     if withsparseread:
   843     if withsparseread:
   842         fm.plain(b'   readsize largestblk rddensity srchunks')
   844         fm.plain(b'   readsize largestblk rddensity srchunks')
   843     fm.plain(b'\n')
   845     fm.plain(b'\n')
   844 
   846 
   845     chainbases = {}
   847     chainbases = {}
   846     for rev in r:
   848     for rev in r:
   847         comp, uncomp, deltatype, chain, chainsize = revinfo(rev)
   849         p1, p2, comp, uncomp, deltatype, chain, chainsize = revinfo(rev)
   848         chainbase = chain[0]
   850         chainbase = chain[0]
   849         chainid = chainbases.setdefault(chainbase, len(chainbases) + 1)
   851         chainid = chainbases.setdefault(chainbase, len(chainbases) + 1)
   850         basestart = start(chainbase)
   852         basestart = start(chainbase)
   851         revstart = start(rev)
   853         revstart = start(rev)
   852         lineardist = revstart + comp - basestart
   854         lineardist = revstart + comp - basestart
   866         else:
   868         else:
   867             extraratio = extradist
   869             extraratio = extradist
   868 
   870 
   869         fm.startitem()
   871         fm.startitem()
   870         fm.write(
   872         fm.write(
   871             b'rev chainid chainlen prevrev deltatype compsize '
   873             b'rev p1 p2 chainid chainlen prevrev deltatype compsize '
   872             b'uncompsize chainsize chainratio lindist extradist '
   874             b'uncompsize chainsize chainratio lindist extradist '
   873             b'extraratio',
   875             b'extraratio',
   874             b'%7d %7d %8d %8d %7s %10d %10d %10d %9.5f %9d %9d %10.5f',
   876             b'%7d %7d %7d %7d %8d %8d %7s %10d %10d %10d %9.5f %9d %9d %10.5f',
   875             rev,
   877             rev,
       
   878             p1,
       
   879             p2,
   876             chainid,
   880             chainid,
   877             len(chain),
   881             len(chain),
   878             prevrev,
   882             prevrev,
   879             deltatype,
   883             deltatype,
   880             comp,
   884             comp,