contrib/dumprevlog
author Mads Kiilerich <madski@unity3d.com>
Thu, 28 Feb 2013 14:05:15 +0100
changeset 18732 1793251e75c8
parent 14233 659f34b833b9
child 29165 a212ca70205c
permissions -rwxr-xr-x
largefiles: remove wrong comment on standin matcher and code for creating dirs The existence of these directories could not be relied on anyway and all dependencies on them should have been removed.

#!/usr/bin/env python
# Dump revlogs as raw data stream
# $ find .hg/store/ -name "*.i" | xargs dumprevlog > repo.dump

import sys
from mercurial import revlog, node, 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-"