diff -r 24b2e213d84b -r bbd89c9e6012 mercurial/patch.py --- a/mercurial/patch.py Tue Jul 01 23:41:47 2008 +0100 +++ 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)