diff -r 4dd8a6a1240d -r 7cc0fb0080b6 mercurial/merge.py --- a/mercurial/merge.py Thu Apr 17 22:47:38 2014 +0200 +++ b/mercurial/merge.py Fri Nov 14 05:53:04 2014 -0800 @@ -527,14 +527,6 @@ raise util.Abort(_("untracked files in working directory differ " "from files in requested revision")) - if not util.checkcase(repo.path): - # check collision between files only in p2 for clean update - if (not branchmerge and - (force or not wctx.dirty(missing=True, branch=False))): - _checkcollision(repo, m2, None) - else: - _checkcollision(repo, m1, actions) - return actions, diverge, renamedelete def _resolvetrivial(repo, wctx, mctx, ancestor, actions): @@ -1091,6 +1083,14 @@ repo, wc, p2, pas, branchmerge, force, partial, mergeancestor, followcopies) + if not util.checkcase(repo.path): + # check collision between files only in p2 for clean update + if (not branchmerge and + (force or not wc.dirty(missing=True, branch=False))): + _checkcollision(repo, p2.manifest(), None) + else: + _checkcollision(repo, wc.manifest(), actions) + # Prompt and create actions. TODO: Move this towards resolve phase. for f, args, msg in sorted(actions['cd']): if repo.ui.promptchoice(