##// END OF EJS Templates
mdiff: use slice instead of index on bytestr when checking single bytes...
Augie Fackler -
r35894:94621656 default
parent child Browse files
Show More
@@ -275,7 +275,7 b' def unidiff(a, ad, b, bd, fn1, fn2, opts'
275 headerlines = []
275 headerlines = []
276 hunks = (None, ['Binary file %s has changed\n' % fn1]),
276 hunks = (None, ['Binary file %s has changed\n' % fn1]),
277 elif not a:
277 elif not a:
278 without_newline = b[-1] != '\n'
278 without_newline = b[-1:] != '\n'
279 b = splitnewlines(b)
279 b = splitnewlines(b)
280 if a is None:
280 if a is None:
281 l1 = '--- /dev/null%s' % datetag(epoch)
281 l1 = '--- /dev/null%s' % datetag(epoch)
@@ -291,7 +291,7 b' def unidiff(a, ad, b, bd, fn1, fn2, opts'
291 hunklines.append(_missing_newline_marker)
291 hunklines.append(_missing_newline_marker)
292 hunks = (hunkrange, hunklines),
292 hunks = (hunkrange, hunklines),
293 elif not b:
293 elif not b:
294 without_newline = a[-1] != '\n'
294 without_newline = a[-1:] != '\n'
295 a = splitnewlines(a)
295 a = splitnewlines(a)
296 l1 = "--- %s%s%s" % (aprefix, fn1, datetag(ad, fn1))
296 l1 = "--- %s%s%s" % (aprefix, fn1, datetag(ad, fn1))
297 if b is None:
297 if b is None:
@@ -384,17 +384,17 b' def _unidiff(t1, t2, opts=defaultopts):'
384 # a newline, print only one marker. That's the only case in
384 # a newline, print only one marker. That's the only case in
385 # which the hunk can end in a shared line without a newline.
385 # which the hunk can end in a shared line without a newline.
386 skip = False
386 skip = False
387 if t1[-1] != '\n' and astart + alen == len(l1) + 1:
387 if t1[-1:] != '\n' and astart + alen == len(l1) + 1:
388 for i in xrange(len(hunklines) - 1, -1, -1):
388 for i in xrange(len(hunklines) - 1, -1, -1):
389 if hunklines[i][0] in ('-', ' '):
389 if hunklines[i][0:1] in ('-', ' '):
390 if hunklines[i][0] == ' ':
390 if hunklines[i][0:1] == ' ':
391 skip = True
391 skip = True
392 hunklines[i] += '\n'
392 hunklines[i] += '\n'
393 hunklines.insert(i + 1, _missing_newline_marker)
393 hunklines.insert(i + 1, _missing_newline_marker)
394 break
394 break
395 if not skip and t2[-1] != '\n' and bstart + blen == len(l2) + 1:
395 if not skip and t2[-1:] != '\n' and bstart + blen == len(l2) + 1:
396 for i in xrange(len(hunklines) - 1, -1, -1):
396 for i in xrange(len(hunklines) - 1, -1, -1):
397 if hunklines[i][0] == '+':
397 if hunklines[i][0:1] == '+':
398 hunklines[i] += '\n'
398 hunklines[i] += '\n'
399 hunklines.insert(i + 1, _missing_newline_marker)
399 hunklines.insert(i + 1, _missing_newline_marker)
400 break
400 break
General Comments 0
You need to be logged in to leave comments. Login now