Mercurial > hg
view contrib/undumprevlog @ 20745:5fb7c36d751f
contrib: added revset performance benchmarking script
This script takes two arguments (starting revision, ending revision) and tests
for each revision in between the entire list of revsets in the script using
perfrevset.
author | Lucas Moscovicz <lmoscovicz@fb.com> |
---|---|
date | Fri, 14 Mar 2014 11:24:59 -0700 |
parents | cba222f01056 |
children | 5bd1f6572db0 |
line wrap: on
line source
#!/usr/bin/env python # Undump a dump from dumprevlog # $ hg init # $ undumprevlog < repo.dump import sys from mercurial import revlog, node, scmutil, util, transaction for fp in (sys.stdin, sys.stdout, sys.stderr): util.setbinary(fp) opener = scmutil.opener('.', False) tr = transaction.transaction(sys.stderr.write, opener, "undump.journal") while True: l = sys.stdin.readline() if not l: break if l.startswith("file:"): f = l[6:-1] r = revlog.revlog(opener, f) print f elif l.startswith("node:"): n = node.bin(l[6:-1]) elif l.startswith("linkrev:"): lr = int(l[9:-1]) elif l.startswith("parents:"): p = l[9:-1].split() p1 = node.bin(p[0]) p2 = node.bin(p[1]) elif l.startswith("length:"): length = int(l[8:-1]) sys.stdin.readline() # start marker d = sys.stdin.read(length) sys.stdin.readline() # end marker r.addrevision(d, tr, lr, p1, p2) tr.close()