comparison mercurial/pure/diffhelpers.py @ 37566:f53b55b162f4

py3: get rid of character access from pure.diffhelpers 's' is a result of readline(), so 'c == "\n"' means 's == "\n"'.
author Yuya Nishihara <yuya@tcha.org>
date Mon, 09 Apr 2018 20:44:41 +0900
parents 80214358ac88
children 53021c4ef0b2
comparison
equal deleted inserted replaced
37565:9c7a25ef5b49 37566:f53b55b162f4
14 num = max(todoa, todob) 14 num = max(todoa, todob)
15 if num == 0: 15 if num == 0:
16 break 16 break
17 for i in xrange(num): 17 for i in xrange(num):
18 s = fp.readline() 18 s = fp.readline()
19 c = s[0]
20 if s == "\\ No newline at end of file\n": 19 if s == "\\ No newline at end of file\n":
21 fix_newline(hunk, a, b) 20 fix_newline(hunk, a, b)
22 continue 21 continue
23 if c == "\n": 22 if s == "\n":
24 # Some patches may be missing the control char 23 # Some patches may be missing the control char
25 # on empty lines. Supply a leading space. 24 # on empty lines. Supply a leading space.
26 s = " \n" 25 s = " \n"
27 hunk.append(s) 26 hunk.append(s)
28 if c == "+": 27 if s.startswith('+'):
29 b.append(s[1:]) 28 b.append(s[1:])
30 elif c == "-": 29 elif s.startswith('-'):
31 a.append(s) 30 a.append(s)
32 else: 31 else:
33 b.append(s[1:]) 32 b.append(s[1:])
34 a.append(s) 33 a.append(s)
35 return 0 34 return 0
39 # tolerate CRLF in last line 38 # tolerate CRLF in last line
40 if l.endswith('\r\n'): 39 if l.endswith('\r\n'):
41 hline = l[:-2] 40 hline = l[:-2]
42 else: 41 else:
43 hline = l[:-1] 42 hline = l[:-1]
44 c = hline[0]
45 43
46 if c in " +": 44 if hline.startswith((' ', '+')):
47 b[-1] = hline[1:] 45 b[-1] = hline[1:]
48 if c in " -": 46 if hline.startswith((' ', '-')):
49 a[-1] = hline 47 a[-1] = hline
50 hunk[-1] = hline 48 hunk[-1] = hline
51 return 0 49 return 0
52 50
53 51