view contrib/dumprevlog @ 25292:31d543cd7062

largefiles: pass in whole matcher to getstandinmatcher() The choice between the "always" case and the other case is done in getstandinmatcher() and the next patch will change how it's determined based on the matcher, so let's prepare by passing in the matcher, not just the matcher's files.
author Martin von Zweigbergk <martinvonz@google.com>
date Tue, 26 May 2015 11:06:43 -0700
parents 659f34b833b9
children a212ca70205c
line wrap: on
line source

#!/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-"