Show More
@@ -1102,11 +1102,11 b' all lines of the hunk are removed, then ' | |||
|
1102 | 1102 | the hunk is left unchanged. |
|
1103 | 1103 | """) |
|
1104 | 1104 | (patchfd, patchfn) = tempfile.mkstemp(prefix="hg-editor-", |
|
1105 |
suffix=".diff" |
|
|
1105 | suffix=".diff") | |
|
1106 | 1106 | ncpatchfp = None |
|
1107 | 1107 | try: |
|
1108 | 1108 | # Write the initial patch |
|
1109 |
f = os.fdopen(patchfd, r |
|
|
1109 | f = util.nativeeolwriter(os.fdopen(patchfd, r'wb')) | |
|
1110 | 1110 | chunk.header.write(f) |
|
1111 | 1111 | chunk.write(f) |
|
1112 | 1112 | f.write('\n'.join(['# ' + i for i in phelp.splitlines()])) |
@@ -2426,6 +2426,22 b' bytecount = unitcountfn(' | |||
|
2426 | 2426 | (1, 1, _('%.0f bytes')), |
|
2427 | 2427 | ) |
|
2428 | 2428 | |
|
2429 | class transformingwriter(object): | |
|
2430 | """Writable file wrapper to transform data by function""" | |
|
2431 | ||
|
2432 | def __init__(self, fp, encode): | |
|
2433 | self._fp = fp | |
|
2434 | self._encode = encode | |
|
2435 | ||
|
2436 | def close(self): | |
|
2437 | self._fp.close() | |
|
2438 | ||
|
2439 | def flush(self): | |
|
2440 | self._fp.flush() | |
|
2441 | ||
|
2442 | def write(self, data): | |
|
2443 | return self._fp.write(self._encode(data)) | |
|
2444 | ||
|
2429 | 2445 | # Matches a single EOL which can either be a CRLF where repeated CR |
|
2430 | 2446 | # are removed or a LF. We do not care about old Macintosh files, so a |
|
2431 | 2447 | # stray CR is an error. |
@@ -2437,12 +2453,17 b' def tolf(s):' | |||
|
2437 | 2453 | def tocrlf(s): |
|
2438 | 2454 | return _eolre.sub('\r\n', s) |
|
2439 | 2455 | |
|
2456 | def _crlfwriter(fp): | |
|
2457 | return transformingwriter(fp, tocrlf) | |
|
2458 | ||
|
2440 | 2459 | if pycompat.oslinesep == '\r\n': |
|
2441 | 2460 | tonativeeol = tocrlf |
|
2442 | 2461 | fromnativeeol = tolf |
|
2462 | nativeeolwriter = _crlfwriter | |
|
2443 | 2463 | else: |
|
2444 | 2464 | tonativeeol = pycompat.identity |
|
2445 | 2465 | fromnativeeol = pycompat.identity |
|
2466 | nativeeolwriter = pycompat.identity | |
|
2446 | 2467 | |
|
2447 | 2468 | def escapestr(s): |
|
2448 | 2469 | # call underlying function of s.encode('string_escape') directly for |
General Comments 0
You need to be logged in to leave comments.
Login now