diff -r 0d1dca7d2a04 -r d8d478f9ee0f mercurial/merge.py --- a/mercurial/merge.py Fri Jan 28 03:09:22 2011 +0100 +++ b/mercurial/merge.py Mon Jan 31 13:38:00 2011 +0100 @@ -249,7 +249,7 @@ def actionkey(a): return a[1] == 'r' and -1 or 0, a -def applyupdates(repo, action, wctx, mctx, actx): +def applyupdates(repo, action, wctx, mctx, actx, overwrite): """apply the merge action list to the working directory wctx is the working copy context @@ -310,7 +310,7 @@ repo.ui.note(_("removing %s\n") % f) audit_path(f) if f == '.hgsubstate': # subrepo states need updating - subrepo.submerge(repo, wctx, mctx, wctx) + subrepo.submerge(repo, wctx, mctx, wctx, overwrite) try: util.unlinkpath(repo.wjoin(f)) except OSError, inst: @@ -320,7 +320,7 @@ removed += 1 elif m == "m": # merge if f == '.hgsubstate': # subrepo states need updating - subrepo.submerge(repo, wctx, mctx, wctx.ancestor(mctx)) + subrepo.submerge(repo, wctx, mctx, wctx.ancestor(mctx), overwrite) continue f2, fd, flags, move = a[2:] r = ms.resolve(fd, wctx, mctx) @@ -343,7 +343,7 @@ t = None updated += 1 if f == '.hgsubstate': # subrepo states need updating - subrepo.submerge(repo, wctx, mctx, wctx) + subrepo.submerge(repo, wctx, mctx, wctx, overwrite) elif m == "d": # directory rename f2, fd, flags = a[2:] if f: @@ -534,7 +534,7 @@ if not partial: repo.hook('preupdate', throw=True, parent1=xp1, parent2=xp2) - stats = applyupdates(repo, action, wc, p2, pa) + stats = applyupdates(repo, action, wc, p2, pa, overwrite) if not partial: repo.dirstate.setparents(fp1, fp2)