mercurial/mdiff.py
changeset 4103 544838cc1158
parent 3199 096f1c73cdc3
child 4108 226df1808f16
--- a/mercurial/mdiff.py	Fri Feb 16 05:10:43 2007 -0200
+++ b/mercurial/mdiff.py	Sat Feb 17 09:54:56 2007 -0200
@@ -7,7 +7,7 @@
 
 from demandload import demandload
 import bdiff, mpatch
-demandload(globals(), "re struct util")
+demandload(globals(), "re struct util md5")
 
 def splitnewlines(text):
     '''like str.splitlines, but only split on newlines.'''
@@ -59,6 +59,11 @@
     epoch = util.datestr((0, 0))
 
     if not opts.text and (util.binary(a) or util.binary(b)):
+        def h(v):
+            # md5 is used instead of sha1 because md5 is supposedly faster
+            return md5.new(v).digest()
+        if a and b and len(a) == len(b) and h(a) == h(b):
+            return ""
         l = ['Binary file %s has changed\n' % fn]
     elif not a:
         b = splitnewlines(b)