diff mercurial/patch.py @ 10746:16b9aa398c28

Merge with stable
author Matt Mackall <mpm@selenic.com>
date Sat, 20 Mar 2010 10:01:56 -0500
parents d794ea113834 d94832c4a31d
children 03225f14c495
line wrap: on
line diff
--- a/mercurial/patch.py	Fri Mar 19 16:05:16 2010 -0500
+++ b/mercurial/patch.py	Sat Mar 20 10:01:56 2010 -0500
@@ -933,8 +933,10 @@
     missing = not goodb and not gooda and not createfunc()
 
     # some diff programs apparently produce create patches where the
-    # afile is not /dev/null, but rather the same name as the bfile
-    if missing and afile == bfile:
+    # afile is not /dev/null, but afile starts with bfile
+    abasedir = afile[:afile.rfind('/') + 1]
+    bbasedir = bfile[:bfile.rfind('/') + 1]
+    if missing and abasedir == bbasedir and afile.startswith(bfile):
         # this isn't very pretty
         hunk.create = True
         if createfunc():