diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -155,7 +155,7 @@ def update(repo, node, branchmerge=False if n != m2[f]: a = ma.get(f, nullid) # are both different from the ancestor? - if n != a and m2[f] != a: + if not overwrite and n != a and m2[f] != a: repo.ui.debug(_(" %s versions differ, resolve\n") % f) merge[f] = (fmerge(f, mw, m2, ma), m1.get(f, nullid), m2[f]) queued = 1 @@ -233,11 +233,6 @@ def update(repo, node, branchmerge=False ### apply phase - if overwrite: - for f in merge: - get[f] = merge[f][:2] - merge = {} - if linear_path or overwrite: # we don't need to do any magic, just jump to the new rev p1, p2 = p2, nullid