diff -r 3951f132958f -r 6b639caa1652 mercurial/merge.py --- a/mercurial/merge.py Tue Jan 12 18:17:07 2016 -0800 +++ b/mercurial/merge.py Tue Jan 12 18:38:49 2016 -0800 @@ -591,7 +591,8 @@ elif config == 'warn': warnconflicts.update(conflicts) - config = _getcheckunknownconfig(repo, 'merge', 'checkunknown') + unknownconfig = _getcheckunknownconfig(repo, 'merge', 'checkunknown') + ignoredconfig = _getcheckunknownconfig(repo, 'merge', 'checkignored') for f, (m, args, msg) in actions.iteritems(): if m in ('c', 'dc'): if _checkunknownfile(repo, wctx, mctx, f): @@ -600,7 +601,11 @@ if _checkunknownfile(repo, wctx, mctx, f, args[0]): conflicts.add(f) - collectconflicts(conflicts, config) + ignoredconflicts = set([c for c in conflicts + if repo.dirstate._ignore(c)]) + unknownconflicts = conflicts - ignoredconflicts + collectconflicts(ignoredconflicts, ignoredconfig) + collectconflicts(unknownconflicts, unknownconfig) for f in sorted(abortconflicts): repo.ui.warn(_("%s: untracked file differs\n") % f) if abortconflicts: