# HG changeset patch # User Denis Laxalde <denis.laxa...@logilab.fr> # Date 1488559588 -3600 # Fri Mar 03 17:46:28 2017 +0100 # Node ID 27d0f56d5cde54f11cc1c93c711fa2fc8bdaf8ec # Parent 3fce2b5c21f362f1082940786b92ca8794e029ce # Available At http://hg.logilab.org/users/dlaxalde/hg # hg pull http://hg.logilab.org/users/dlaxalde/hg -r 27d0f56d5cde # EXP-Topic diffhunks mdiff: extract a checknonewline inner function in unidiff()
diff --git a/mercurial/mdiff.py b/mercurial/mdiff.py --- a/mercurial/mdiff.py +++ b/mercurial/mdiff.py @@ -225,6 +225,12 @@ def unidiff(a, ad, b, bd, fn1, fn2, opts fn1 = util.pconvert(fn1) fn2 = util.pconvert(fn2) + def checknonewline(lines): + for text in lines: + if text[-1] != '\n': + text += "\n\ No newline at end of file\n" + yield text + if not opts.text and (util.binary(a) or util.binary(b)): if a and b and len(a) == len(b) and a == b: return sentinel @@ -258,11 +264,7 @@ def unidiff(a, ad, b, bd, fn1, fn2, opts "+++ %s%s%s" % (bprefix, fn2, datetag(bd, fn2)), ] - for ln in xrange(len(l)): - if l[ln][-1] != '\n': - l[ln] += "\n\ No newline at end of file\n" - - return headerlines, "".join(l) + return headerlines, "".join(checknonewline(l)) def _unidiff(t1, t2, opts=defaultopts): """Yield hunks of a headerless unified diff from t1 and t2 texts. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel