comparison mercurial/patch.py @ 45154:10f48720ef95

diff: move no-eol text constant to a common location Differential Revision: https://phab.mercurial-scm.org/D8763
author Rodrigo Damazio Bovendorp <rdamazio@google.com>
date Fri, 17 Jul 2020 03:53:19 -0700
parents 20a65e397943
children 210f9b8d7bbd ac362d5a7893
comparison
equal deleted inserted replaced
45153:8b6a446508c2 45154:10f48720ef95
783 lines = [b"--- %s\n+++ %s\n" % (base, base)] 783 lines = [b"--- %s\n+++ %s\n" % (base, base)]
784 for x in self.rej: 784 for x in self.rej:
785 for l in x.hunk: 785 for l in x.hunk:
786 lines.append(l) 786 lines.append(l)
787 if l[-1:] != b'\n': 787 if l[-1:] != b'\n':
788 lines.append(b"\n\\ No newline at end of file\n") 788 lines.append(b'\n' + diffhelper.MISSING_NEWLINE_MARKER)
789 self.backend.writerej(self.fname, len(self.rej), self.hunks, lines) 789 self.backend.writerej(self.fname, len(self.rej), self.hunks, lines)
790 790
791 def apply(self, h): 791 def apply(self, h):
792 if not h.complete(): 792 if not h.complete():
793 raise PatchError( 793 raise PatchError(
1067 self.after, 1067 self.after,
1068 ) 1068 )
1069 1069
1070 def write(self, fp): 1070 def write(self, fp):
1071 delta = len(self.before) + len(self.after) 1071 delta = len(self.before) + len(self.after)
1072 if self.after and self.after[-1] == b'\\ No newline at end of file\n': 1072 if self.after and self.after[-1] == diffhelper.MISSING_NEWLINE_MARKER:
1073 delta -= 1 1073 delta -= 1
1074 fromlen = delta + self.removed 1074 fromlen = delta + self.removed
1075 tolen = delta + self.added 1075 tolen = delta + self.added
1076 fp.write( 1076 fp.write(
1077 b'@@ -%d,%d +%d,%d @@%s\n' 1077 b'@@ -%d,%d +%d,%d @@%s\n'