589 if config == 'abort': |
589 if config == 'abort': |
590 abortconflicts.update(conflicts) |
590 abortconflicts.update(conflicts) |
591 elif config == 'warn': |
591 elif config == 'warn': |
592 warnconflicts.update(conflicts) |
592 warnconflicts.update(conflicts) |
593 |
593 |
594 config = _getcheckunknownconfig(repo, 'merge', 'checkunknown') |
594 unknownconfig = _getcheckunknownconfig(repo, 'merge', 'checkunknown') |
|
595 ignoredconfig = _getcheckunknownconfig(repo, 'merge', 'checkignored') |
595 for f, (m, args, msg) in actions.iteritems(): |
596 for f, (m, args, msg) in actions.iteritems(): |
596 if m in ('c', 'dc'): |
597 if m in ('c', 'dc'): |
597 if _checkunknownfile(repo, wctx, mctx, f): |
598 if _checkunknownfile(repo, wctx, mctx, f): |
598 conflicts.add(f) |
599 conflicts.add(f) |
599 elif m == 'dg': |
600 elif m == 'dg': |
600 if _checkunknownfile(repo, wctx, mctx, f, args[0]): |
601 if _checkunknownfile(repo, wctx, mctx, f, args[0]): |
601 conflicts.add(f) |
602 conflicts.add(f) |
602 |
603 |
603 collectconflicts(conflicts, config) |
604 ignoredconflicts = set([c for c in conflicts |
|
605 if repo.dirstate._ignore(c)]) |
|
606 unknownconflicts = conflicts - ignoredconflicts |
|
607 collectconflicts(ignoredconflicts, ignoredconfig) |
|
608 collectconflicts(unknownconflicts, unknownconfig) |
604 for f in sorted(abortconflicts): |
609 for f in sorted(abortconflicts): |
605 repo.ui.warn(_("%s: untracked file differs\n") % f) |
610 repo.ui.warn(_("%s: untracked file differs\n") % f) |
606 if abortconflicts: |
611 if abortconflicts: |
607 raise error.Abort(_("untracked files in working directory " |
612 raise error.Abort(_("untracked files in working directory " |
608 "differ from files in requested revision")) |
613 "differ from files in requested revision")) |