contrib/dumprevlog
author Kevin Bullock <kbullock@ringworld.org>
Wed, 07 Dec 2011 11:23:01 -0600
changeset 15619 6c8573dd1b6b
parent 14233 659f34b833b9
child 29165 a212ca70205c
permissions -rwxr-xr-x
merge: make 'nothing to merge' aborts consistent Makes the 'nothing to merge' abort messages in commands.py consistent with those in merge.py. Also makes commands.merge() and merge.update() use hints. The tests show the changes.

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