diff: unify calls to diffline
diffline was called from trydiff for binary diffs and from unidiff
for text diffs. In this patch we unify those calls into one.
diffline is also a header, not part of diff mechanisms, so it makes
sense to remove that responsibility from the mdiff module. In
upcoming patches we will move diffline to patch module and
keep grouping responsibilities.
--- a/mercurial/mdiff.py Tue Nov 06 14:04:05 2012 -0800
+++ b/mercurial/mdiff.py Thu Nov 15 12:16:08 2012 -0800
@@ -156,7 +156,7 @@
parts.append(a)
return ' '.join(parts) + '\n'
-def unidiff(a, ad, b, bd, fn1, fn2, r=None, opts=defaultopts):
+def unidiff(a, ad, b, bd, fn1, fn2, opts=defaultopts):
def datetag(date, fn=None):
if not opts.git and not opts.nodates:
return '\t%s\n' % date
@@ -207,9 +207,6 @@
if l[ln][-1] != '\n':
l[ln] += "\n\ No newline at end of file\n"
- if r:
- l.insert(0, diffline(r, fn1, fn2, opts))
-
return "".join(l)
# creates a headerless unified diff
--- a/mercurial/patch.py Tue Nov 06 14:04:05 2012 -0800
+++ b/mercurial/patch.py Thu Nov 15 12:16:08 2012 -0800
@@ -1746,17 +1746,17 @@
dodiff = 'binary'
elif binary or nflag != oflag:
losedatafn(f)
- if opts.git:
- header.insert(0, mdiff.diffline(revs, join(a), join(b), opts))
if dodiff:
+ if opts.git or revs:
+ header.insert(0, mdiff.diffline(revs, join(a), join(b), opts))
if dodiff == 'binary':
text = mdiff.b85diff(to, tn)
else:
text = mdiff.unidiff(to, date1,
# ctx2 date may be dynamic
tn, util.datestr(ctx2.date()),
- join(a), join(b), revs, opts=opts)
+ join(a), join(b), opts=opts)
if header and (text or len(header) > 1):
yield ''.join(header)
if text: