comparison mercurial/mdiff.py @ 1030:28e2f13ca7c4

Merge with MPM.
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 23 Aug 2005 21:57:22 -0700
parents 22571b8d35d3
children a0fcfbbf52bb
comparison
equal deleted inserted replaced
1029:b5f0ccad8917 1030:28e2f13ca7c4
5 # This software may be used and distributed according to the terms 5 # This software may be used and distributed according to the terms
6 # of the GNU General Public License, incorporated herein by reference. 6 # of the GNU General Public License, incorporated herein by reference.
7 7
8 import difflib, struct, bdiff 8 import difflib, struct, bdiff
9 from mpatch import * 9 from mpatch import *
10 from util import *
10 11
11 def unidiff(a, ad, b, bd, fn, r=None): 12 def unidiff(a, ad, b, bd, fn, r=None, text=False):
12 13
13 if not a and not b: return "" 14 if not a and not b: return ""
14 15
15 if a == None: 16 if not text and (binary(a) or binary(b)):
17 l = ['Binary file %s has changed\n' % fn]
18 elif a == None:
16 b = b.splitlines(1) 19 b = b.splitlines(1)
17 l1 = "--- %s\t%s\n" % ("/dev/null", ad) 20 l1 = "--- %s\t%s\n" % ("/dev/null", ad)
18 l2 = "+++ %s\t%s\n" % ("b/" + fn, bd) 21 l2 = "+++ %s\t%s\n" % ("b/" + fn, bd)
19 l3 = "@@ -0,0 +1,%d @@\n" % len(b) 22 l3 = "@@ -0,0 +1,%d @@\n" % len(b)
20 l = [l1, l2, l3] + ["+" + e for e in b] 23 l = [l1, l2, l3] + ["+" + e for e in b]