Mercurial > hg
view contrib/dumprevlog @ 32232:4c6b2076d292
perf: move revlog construction and length calculation out of benchmark
We don't need to measure the time it takes to open the revlog or
calculate its length.
This is more consistent with what other perf* functions do.
While I was here, I also renamed the revlog variable from "r" to
"rl" - again in the name of consistency.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 06 May 2017 11:16:59 -0700 |
parents | 6359b80f15fb |
children | a915465a731e |
line wrap: on
line source
#!/usr/bin/env python # Dump revlogs as raw data stream # $ find .hg/store/ -name "*.i" | xargs dumprevlog > repo.dump from __future__ import absolute_import, print_function import sys from mercurial import ( node, revlog, util, ) for fp in (sys.stdin, sys.stdout, sys.stderr): util.setbinary(fp) for f in sys.argv[1:]: binopen = lambda fn: open(fn, 'rb') r = revlog.revlog(binopen, f) print("file:", f) for i in r: n = r.node(i) p = r.parents(n) d = r.revision(n) print("node:", node.hex(n)) print("linkrev:", r.linkrev(i)) print("parents:", node.hex(p[0]), node.hex(p[1])) print("length:", len(d)) print("-start-") print(d) print("-end-")