Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/debugcommands.py @ 49774:7c0a383849a8
debug-revlog: move the --dump code in `revlogutils` module
We have a module dedicated to debug code, let us use it.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 07 Nov 2022 14:13:59 -0500 |
parents | 266bb5c86f4b |
children | bd3b6f363fb9 |
comparison
equal
deleted
inserted
replaced
49773:523cacdfd324 | 49774: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 = [] |