check-code: forbid mutable value for default argument
default value are common to all call. Using mutable value is a classical source
of bug in Python. We forbid it.
The regexp (Courtesy of Matt Mackall) is only catching such value on the first
line of a definition, but that will be good enough for now.
#!/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-"