##// END OF EJS Templates
bdiff: write a native version of splitnewlines...
bdiff: write a native version of splitnewlines ./hg perfunidiff mercurial/manifest.py 0 --count 500 --profile before: ! wall 0.309280 comb 0.350000 user 0.290000 sys 0.060000 (best of 32) ./hg perfunidiff mercurial/manifest.py 0 --count 500 --profile after: ! wall 0.241572 comb 0.260000 user 0.240000 sys 0.020000 (best of 39) so it's about 20% faster. I hate Python. I wish we could usefully write this in Rust, but it doesn't look like that's realistic without using the cpython crate, which I'd still like to avoid. Differential Revision: https://phab.mercurial-scm.org/D1973

File last commit:

r35982:a915465a default
r36163:29dd37a4 default
Show More
dumprevlog
35 lines | 826 B | text/plain | TextLexer
Matt Mackall
add simple dump and undump scripts to contrib/
r6433 #!/usr/bin/env python
# Dump revlogs as raw data stream
# $ find .hg/store/ -name "*.i" | xargs dumprevlog > repo.dump
Pulkit Goyal
py3: make contrib/dumprevlog use print_function
r29166 from __future__ import absolute_import, print_function
Pulkit Goyal
py3: make contrib/dumprevlog use absolute_import
r29165
Matt Mackall
add simple dump and undump scripts to contrib/
r6433 import sys
Pulkit Goyal
py3: make contrib/dumprevlog use absolute_import
r29165 from mercurial import (
node,
revlog,
util,
)
Adrian Buehlmann
contrib: fix binary file issues with dumprevlog on Windows...
r6466
for fp in (sys.stdin, sys.stdout, sys.stderr):
Adrian Buehlmann
rename util.set_binary to setbinary
r14233 util.setbinary(fp)
Matt Mackall
add simple dump and undump scripts to contrib/
r6433
Boris Feld
dumprevlog: handle being passed a mode parameter...
r35982 def binopen(path, mode='rb'):
if 'b' not in mode:
mode = mode + 'b'
return open(path, mode)
Matt Mackall
add simple dump and undump scripts to contrib/
r6433 for f in sys.argv[1:]:
Adrian Buehlmann
contrib: fix binary file issues with dumprevlog on Windows...
r6466 r = revlog.revlog(binopen, f)
Pulkit Goyal
py3: make contrib/dumprevlog use print_function
r29166 print("file:", f)
Matt Mackall
add __len__ and __iter__ methods to repo and revlog
r6750 for i in r:
Matt Mackall
add simple dump and undump scripts to contrib/
r6433 n = r.node(i)
p = r.parents(n)
d = r.revision(n)
Pulkit Goyal
py3: make contrib/dumprevlog use print_function
r29166 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-")