mercurial/debugcommands.py
changeset 49659 7c0a383849a8
parent 49589 266bb5c86f4b
child 49660 bd3b6f363fb9
equal deleted inserted replaced
49658:523cacdfd324 49659:7c0a383849a8
  3238     """show data and statistics about a revlog"""
  3238     """show data and statistics about a revlog"""
  3239     opts = pycompat.byteskwargs(opts)
  3239     opts = pycompat.byteskwargs(opts)
  3240     r = cmdutil.openrevlog(repo, b'debugrevlog', file_, opts)
  3240     r = cmdutil.openrevlog(repo, b'debugrevlog', file_, opts)
  3241 
  3241 
  3242     if opts.get(b"dump"):
  3242     if opts.get(b"dump"):
  3243         numrevs = len(r)
  3243         revlog_debug.dump(ui, r)
  3244         ui.write(
       
  3245             (
       
  3246                 b"# rev p1rev p2rev start   end deltastart base   p1   p2"
       
  3247                 b" rawsize totalsize compression heads chainlen\n"
       
  3248             )
       
  3249         )
       
  3250         ts = 0
       
  3251         heads = set()
       
  3252 
       
  3253         for rev in range(numrevs):
       
  3254             dbase = r.deltaparent(rev)
       
  3255             if dbase == -1:
       
  3256                 dbase = rev
       
  3257             cbase = r.chainbase(rev)
       
  3258             clen = r.chainlen(rev)
       
  3259             p1, p2 = r.parentrevs(rev)
       
  3260             rs = r.rawsize(rev)
       
  3261             ts = ts + rs
       
  3262             heads -= set(r.parentrevs(rev))
       
  3263             heads.add(rev)
       
  3264             try:
       
  3265                 compression = ts / r.end(rev)
       
  3266             except ZeroDivisionError:
       
  3267                 compression = 0
       
  3268             ui.write(
       
  3269                 b"%5d %5d %5d %5d %5d %10d %4d %4d %4d %7d %9d "
       
  3270                 b"%11d %5d %8d\n"
       
  3271                 % (
       
  3272                     rev,
       
  3273                     p1,
       
  3274                     p2,
       
  3275                     r.start(rev),
       
  3276                     r.end(rev),
       
  3277                     r.start(dbase),
       
  3278                     r.start(cbase),
       
  3279                     r.start(p1),
       
  3280                     r.start(p2),
       
  3281                     rs,
       
  3282                     ts,
       
  3283                     compression,
       
  3284                     len(heads),
       
  3285                     clen,
       
  3286                 )
       
  3287             )
       
  3288         return 0
  3244         return 0
  3289 
  3245 
  3290     format = r._format_version
  3246     format = r._format_version
  3291     v = r._format_flags
  3247     v = r._format_flags
  3292     flags = []
  3248     flags = []