diff -r 0935ff767285 -r 6bf39d88c857 mercurial/merge.py --- a/mercurial/merge.py Wed Jan 05 15:56:03 2011 +0100 +++ b/mercurial/merge.py Sun Jan 02 19:34:41 2011 +0100 @@ -312,7 +312,7 @@ if f == '.hgsubstate': # subrepo states need updating subrepo.submerge(repo, wctx, mctx, wctx) try: - util.unlink(repo.wjoin(f)) + util.unlinkpath(repo.wjoin(f)) except OSError, inst: if inst.errno != errno.ENOENT: repo.ui.warn(_("update failed to remove %s: %s!\n") % @@ -350,7 +350,7 @@ repo.ui.note(_("moving %s to %s\n") % (f, fd)) t = wctx.filectx(f).data() repo.wwrite(fd, t, flags) - util.unlink(repo.wjoin(f)) + util.unlinkpath(repo.wjoin(f)) if f2: repo.ui.note(_("getting %s to %s\n") % (f2, fd)) t = mctx.filectx(f2).data()