comparison mercurial/mdiff.py @ 1723:fde8fb2cbede

Fix diff against an empty file (issue124) and add a test for this.
author Thomas Arendsen Hein <thomas@intevation.de>
date Wed, 15 Feb 2006 14:22:16 +0100
parents 3b1b44b917f4
children 441ea218414e
comparison
equal deleted inserted replaced
1722:681c5c211b92 1723:fde8fb2cbede
16 if not a and not b: return "" 16 if not a and not b: return ""
17 epoch = util.datestr((0, 0)) 17 epoch = util.datestr((0, 0))
18 18
19 if not text and (util.binary(a) or util.binary(b)): 19 if not text and (util.binary(a) or util.binary(b)):
20 l = ['Binary file %s has changed\n' % fn] 20 l = ['Binary file %s has changed\n' % fn]
21 elif a == None: 21 elif not a:
22 b = b.splitlines(1) 22 b = b.splitlines(1)
23 l1 = "--- %s\t%s\n" % ("/dev/null", epoch) 23 if a is None:
24 l1 = "--- %s\t%s\n" % ("/dev/null", epoch)
25 else:
26 l1 = "--- %s\t%s\n" % ("a/" + fn, ad)
24 l2 = "+++ %s\t%s\n" % ("b/" + fn, bd) 27 l2 = "+++ %s\t%s\n" % ("b/" + fn, bd)
25 l3 = "@@ -0,0 +1,%d @@\n" % len(b) 28 l3 = "@@ -0,0 +1,%d @@\n" % len(b)
26 l = [l1, l2, l3] + ["+" + e for e in b] 29 l = [l1, l2, l3] + ["+" + e for e in b]
27 elif b == None: 30 elif not b:
28 a = a.splitlines(1) 31 a = a.splitlines(1)
29 l1 = "--- %s\t%s\n" % ("a/" + fn, ad) 32 l1 = "--- %s\t%s\n" % ("a/" + fn, ad)
30 l2 = "+++ %s\t%s\n" % ("/dev/null", epoch) 33 if b is None:
34 l2 = "+++ %s\t%s\n" % ("/dev/null", epoch)
35 else:
36 l2 = "+++ %s\t%s\n" % ("b/" + fn, bd)
31 l3 = "@@ -1,%d +0,0 @@\n" % len(a) 37 l3 = "@@ -1,%d +0,0 @@\n" % len(a)
32 l = [l1, l2, l3] + ["-" + e for e in a] 38 l = [l1, l2, l3] + ["-" + e for e in a]
33 else: 39 else:
34 al = a.splitlines(1) 40 al = a.splitlines(1)
35 bl = b.splitlines(1) 41 bl = b.splitlines(1)