dumprevlog
25 lines
| 677 B
| text/plain
|
TextLexer
/ contrib / dumprevlog
Matt Mackall
|
r6433 | #!/usr/bin/env python | ||
# Dump revlogs as raw data stream | ||||
# $ find .hg/store/ -name "*.i" | xargs dumprevlog > repo.dump | ||||
import sys | ||||
Adrian Buehlmann
|
r6466 | from mercurial import revlog, node, util | ||
for fp in (sys.stdin, sys.stdout, sys.stderr): | ||||
util.set_binary(fp) | ||||
Matt Mackall
|
r6433 | |||
for f in sys.argv[1:]: | ||||
Adrian Buehlmann
|
r6466 | binopen = lambda fn: open(fn, 'rb') | ||
r = revlog.revlog(binopen, f) | ||||
Matt Mackall
|
r6433 | print "file:", f | ||
Matt Mackall
|
r6750 | for i in r: | ||
Matt Mackall
|
r6433 | n = r.node(i) | ||
p = r.parents(n) | ||||
d = r.revision(n) | ||||
print "node:", node.hex(n) | ||||
print "linkrev:", r.linkrev(n) | ||||
print "parents:", node.hex(p[0]), node.hex(p[1]) | ||||
print "length:", len(d) | ||||
print "-start-" | ||||
print d | ||||
print "-end-" | ||||