diff -r bfe89d65d651 -r 774e2dcd0a65 mercurial/merge.py --- a/mercurial/merge.py Mon Apr 23 12:12:04 2012 +0200 +++ b/mercurial/merge.py Mon Apr 23 14:32:59 2012 +0200 @@ -577,7 +577,8 @@ folding = not util.checkcase(repo.path) if folding: # collision check is not needed for clean update - if not branchmerge and force: + if (not branchmerge and + (force or not wc.dirty(missing=True, branch=False))): _checkcollision(p2, None) else: _checkcollision(p2, wc)