mercurial/merge.py
changeset 27742 6b639caa1652
parent 27741 3951f132958f
child 27852 a33c1c9e769c
--- 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: