view contrib/dumprevlog @ 24473:0142b59f5743

update: replace workingctx.dirty and raising Abort by cmdutil.bailifchanged This patch makes wrapping "commands.update()" by largefiles extension useless, because "cmdutil.bailifchanged()" can detect changes of largefiles in the working directory. This patch also changes test-update-branches.t, because "cmdutil.bailifchanged()" shows more detailed information about dirty-ness of the working directory than "workingctx.dirty()".
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Wed, 25 Mar 2015 13:55:35 +0900
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-"