comparison contrib/dumprevlog @ 39948:a063b84ce064

py3: byteify contrib/dumprevlog
author Matt Harbison <matt_harbison@yahoo.com>
date Mon, 01 Oct 2018 21:48:45 -0400
parents a8a902d7176e
children 3518da504303
comparison
equal deleted inserted replaced
39947:2b4c8fa08504 39948:a063b84ce064
4 4
5 from __future__ import absolute_import, print_function 5 from __future__ import absolute_import, print_function
6 6
7 import sys 7 import sys
8 from mercurial import ( 8 from mercurial import (
9 encoding,
9 node, 10 node,
11 pycompat,
10 revlog, 12 revlog,
11 ) 13 )
12 from mercurial.utils import ( 14 from mercurial.utils import (
13 procutil, 15 procutil,
14 ) 16 )
15 17
16 for fp in (sys.stdin, sys.stdout, sys.stderr): 18 for fp in (sys.stdin, sys.stdout, sys.stderr):
17 procutil.setbinary(fp) 19 procutil.setbinary(fp)
18 20
19 def binopen(path, mode='rb'): 21 def binopen(path, mode=b'rb'):
20 if 'b' not in mode: 22 if b'b' not in mode:
21 mode = mode + 'b' 23 mode = mode + b'b'
22 return open(path, mode) 24 return open(path, pycompat.sysstr(mode))
25
26 def printb(data, end=b'\n'):
27 sys.stdout.flush()
28 pycompat.stdout.write(data + end)
23 29
24 for f in sys.argv[1:]: 30 for f in sys.argv[1:]:
25 r = revlog.revlog(binopen, f) 31 r = revlog.revlog(binopen, encoding.strtolocal(f))
26 print("file:", f) 32 print("file:", f)
27 for i in r: 33 for i in r:
28 n = r.node(i) 34 n = r.node(i)
29 p = r.parents(n) 35 p = r.parents(n)
30 d = r.revision(n) 36 d = r.revision(n)
31 print("node:", node.hex(n)) 37 printb(b"node: %s" % node.hex(n))
32 print("linkrev:", r.linkrev(i)) 38 printb(b"linkrev: %d" % r.linkrev(i))
33 print("parents:", node.hex(p[0]), node.hex(p[1])) 39 printb(b"parents: %s %s" % (node.hex(p[0]), node.hex(p[1])))
34 print("length:", len(d)) 40 printb(b"length: %d" % len(d))
35 print("-start-") 41 printb(b"-start-")
36 print(d) 42 printb(d)
37 print("-end-") 43 printb(b"-end-")