contrib/dumprevlog
author Steve Borho <steve@borho.org>
Sat, 05 Dec 2009 14:18:31 -0600
branchstable
changeset 10120 fb890a546d44
parent 7361 9fe97eea5510
child 14233 659f34b833b9
permissions -rw-r--r--
setup: ignore 'not importing' warnings during version detection Python will issue an ImportWarning when seeing 'import locale' if there is a locale/ directory present without a __init__.py file. The warning is silent by default, but it somehow shows up anyway on Windows when setup.py executed hg. The warning causes runcmd to panic since it sees output on stderr. This patch ignores warnings on stderr about not importing a package.

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