mercurial/patch.py
changeset 6758 87c704ac92d4
parent 6747 f6c00b17387c
child 6760 4faaa0535ea7
--- a/mercurial/patch.py	Thu Jun 26 18:44:54 2008 -0500
+++ b/mercurial/patch.py	Wed Jun 25 14:13:20 2008 -0700
@@ -1039,9 +1039,12 @@
                 continue
         elif state == 'git':
             gitpatches = values
+            cwd = os.getcwd()
             for gp in gitpatches:
                 if gp.op in ('COPY', 'RENAME'):
-                    copyfile(gp.oldpath, gp.path)
+                    src, dst = [util.canonpath(cwd, cwd, x)
+                                for x in [gp.oldpath, gp.path]]
+                    copyfile(src, dst)
                 changed[gp.path] = (gp.op, gp)
         else:
             raise util.Abort(_('unsupported parser state: %s') % state)