Mercurial > hg
comparison mercurial/patch.py @ 34066:871a58b5f428
py3: fix type of regex literals in patch.py
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 03 Sep 2017 16:12:15 +0900 |
parents | c0170d88ed2b |
children | 8b8b70cb4288 |
comparison
equal
deleted
inserted
replaced
34065:c6c8a52e28c9 | 34066:871a58b5f428 |
---|---|
203 Any item can be missing from the dictionary. If filename is missing, | 203 Any item can be missing from the dictionary. If filename is missing, |
204 fileobj did not contain a patch. Caller must unlink filename when done.''' | 204 fileobj did not contain a patch. Caller must unlink filename when done.''' |
205 | 205 |
206 # attempt to detect the start of a patch | 206 # attempt to detect the start of a patch |
207 # (this heuristic is borrowed from quilt) | 207 # (this heuristic is borrowed from quilt) |
208 diffre = re.compile(r'^(?:Index:[ \t]|diff[ \t]|RCS file: |' | 208 diffre = re.compile(br'^(?:Index:[ \t]|diff[ \t]|RCS file: |' |
209 r'retrieving revision [0-9]+(\.[0-9]+)*$|' | 209 br'retrieving revision [0-9]+(\.[0-9]+)*$|' |
210 r'---[ \t].*?^\+\+\+[ \t]|' | 210 br'---[ \t].*?^\+\+\+[ \t]|' |
211 r'\*\*\*[ \t].*?^---[ \t])', re.MULTILINE|re.DOTALL) | 211 br'\*\*\*[ \t].*?^---[ \t])', |
212 re.MULTILINE | re.DOTALL) | |
212 | 213 |
213 data = {} | 214 data = {} |
214 fd, tmpname = tempfile.mkstemp(prefix='hg-patch-') | 215 fd, tmpname = tempfile.mkstemp(prefix='hg-patch-') |
215 tmpfp = os.fdopen(fd, pycompat.sysstr('w')) | 216 tmpfp = os.fdopen(fd, pycompat.sysstr('w')) |
216 try: | 217 try: |
228 if subject: | 229 if subject: |
229 if subject.startswith('[PATCH'): | 230 if subject.startswith('[PATCH'): |
230 pend = subject.find(']') | 231 pend = subject.find(']') |
231 if pend >= 0: | 232 if pend >= 0: |
232 subject = subject[pend + 1:].lstrip() | 233 subject = subject[pend + 1:].lstrip() |
233 subject = re.sub(r'\n[ \t]+', ' ', subject) | 234 subject = re.sub(br'\n[ \t]+', ' ', subject) |
234 ui.debug('Subject: %s\n' % subject) | 235 ui.debug('Subject: %s\n' % subject) |
235 if data['user']: | 236 if data['user']: |
236 ui.debug('From: %s\n' % data['user']) | 237 ui.debug('From: %s\n' % data['user']) |
237 diffs_seen = 0 | 238 diffs_seen = 0 |
238 ok_types = ('text/plain', 'text/x-diff', 'text/x-patch') | 239 ok_types = ('text/plain', 'text/x-diff', 'text/x-patch') |
1758 - ('file', [header_lines + fromfile + tofile]) | 1759 - ('file', [header_lines + fromfile + tofile]) |
1759 - ('context', [context_lines]) | 1760 - ('context', [context_lines]) |
1760 - ('hunk', [hunk_lines]) | 1761 - ('hunk', [hunk_lines]) |
1761 - ('range', (-start,len, +start,len, proc)) | 1762 - ('range', (-start,len, +start,len, proc)) |
1762 """ | 1763 """ |
1763 lines_re = re.compile(r'@@ -(\d+),(\d+) \+(\d+),(\d+) @@\s*(.*)') | 1764 lines_re = re.compile(br'@@ -(\d+),(\d+) \+(\d+),(\d+) @@\s*(.*)') |
1764 lr = linereader(fp) | 1765 lr = linereader(fp) |
1765 | 1766 |
1766 def scanwhile(first, p): | 1767 def scanwhile(first, p): |
1767 """scan lr while predicate holds""" | 1768 """scan lr while predicate holds""" |
1768 lines = [first] | 1769 lines = [first] |