mercurial/debugcommands.py
changeset 49219 0a86cb154e83
parent 49218 5b1495c37b0c
child 49221 75d0775dce7f
equal deleted inserted replaced
49218:5b1495c37b0c 49219:0a86cb154e83
   101     stringutil,
   101     stringutil,
   102     urlutil,
   102     urlutil,
   103 )
   103 )
   104 
   104 
   105 from .revlogutils import (
   105 from .revlogutils import (
       
   106     constants as revlog_constants,
   106     deltas as deltautil,
   107     deltas as deltautil,
   107     nodemap,
   108     nodemap,
   108     rewrite,
   109     rewrite,
   109     sidedata,
   110     sidedata,
   110 )
   111 )
   794     generaldelta = r._generaldelta
   795     generaldelta = r._generaldelta
   795     withsparseread = getattr(r, '_withsparseread', False)
   796     withsparseread = getattr(r, '_withsparseread', False)
   796 
   797 
   797     def revinfo(rev):
   798     def revinfo(rev):
   798         e = index[rev]
   799         e = index[rev]
   799         compsize = e[1]
   800         compsize = e[revlog_constants.ENTRY_DATA_COMPRESSED_LENGTH]
   800         uncompsize = e[2]
   801         uncompsize = e[revlog_constants.ENTRY_DATA_UNCOMPRESSED_LENGTH]
   801         chainsize = 0
   802         chainsize = 0
   802 
   803 
       
   804         base = e[revlog_constants.ENTRY_DELTA_BASE]
       
   805         p1 = e[revlog_constants.ENTRY_PARENT_1]
       
   806         p2 = e[revlog_constants.ENTRY_PARENT_2]
       
   807 
   803         if generaldelta:
   808         if generaldelta:
   804             if e[3] == e[5]:
   809             if base == p1:
   805                 deltatype = b'p1'
   810                 deltatype = b'p1'
   806             elif e[3] == e[6]:
   811             elif base == p2:
   807                 deltatype = b'p2'
   812                 deltatype = b'p2'
   808             elif e[3] == rev:
   813             elif base == rev:
   809                 deltatype = b'base'
   814                 deltatype = b'base'
   810             elif r.issnapshot(rev):
   815             elif r.issnapshot(rev):
   811                 deltatype = b'snap'
   816                 deltatype = b'snap'
   812             elif e[3] == rev - 1:
   817             elif base == rev - 1:
   813                 deltatype = b'prev'
   818                 deltatype = b'prev'
   814             else:
   819             else:
   815                 deltatype = b'other'
   820                 deltatype = b'other'
   816         else:
   821         else:
   817             if e[3] == rev:
   822             if base == rev:
   818                 deltatype = b'base'
   823                 deltatype = b'base'
   819             else:
   824             else:
   820                 deltatype = b'prev'
   825                 deltatype = b'prev'
   821 
   826 
   822         chain = r._deltachain(rev)[0]
   827         chain = r._deltachain(rev)[0]
   823         for iterrev in chain:
   828         for iterrev in chain:
   824             e = index[iterrev]
   829             e = index[iterrev]
   825             chainsize += e[1]
   830             chainsize += e[revlog_constants.ENTRY_DATA_COMPRESSED_LENGTH]
   826 
   831 
   827         return compsize, uncompsize, deltatype, chain, chainsize
   832         return compsize, uncompsize, deltatype, chain, chainsize
   828 
   833 
   829     fm = ui.formatter(b'debugdeltachain', opts)
   834     fm = ui.formatter(b'debugdeltachain', opts)
   830 
   835