comparison mercurial/merge.py @ 34553:0217d66846f7

merge: improve error messages for path conflicts during update Differential Revision: https://phab.mercurial-scm.org/D782
author Mark Thomas <mbthomas@fb.com>
date Mon, 02 Oct 2017 14:05:30 -0700
parents 33c8a6837181
children 989e884d1be9
comparison
equal deleted inserted replaced
34552:33c8a6837181 34553:0217d66846f7
739 if config == 'warn': 739 if config == 'warn':
740 warnconflicts.add(f) 740 warnconflicts.add(f)
741 actions[f] = ('g', (fl2, True), "remote created") 741 actions[f] = ('g', (fl2, True), "remote created")
742 742
743 for f in sorted(abortconflicts): 743 for f in sorted(abortconflicts):
744 repo.ui.warn(_("%s: untracked file differs\n") % f) 744 warn = repo.ui.warn
745 if f in pathconflicts:
746 if repo.wvfs.isfileorlink(f):
747 warn(_("%s: untracked file conflicts with directory\n") % f)
748 else:
749 warn(_("%s: untracked directory conflicts with file\n") % f)
750 else:
751 warn(_("%s: untracked file differs\n") % f)
745 if abortconflicts: 752 if abortconflicts:
746 raise error.Abort(_("untracked files in working directory " 753 raise error.Abort(_("untracked files in working directory "
747 "differ from files in requested revision")) 754 "differ from files in requested revision"))
748 755
749 for f in sorted(warnconflicts): 756 for f in sorted(warnconflicts):
750 repo.ui.warn(_("%s: replacing untracked file\n") % f) 757 if repo.wvfs.isfileorlink(f):
758 repo.ui.warn(_("%s: replacing untracked file\n") % f)
759 else:
760 repo.ui.warn(_("%s: replacing untracked files in directory\n") % f)
751 761
752 for f, (m, args, msg) in actions.iteritems(): 762 for f, (m, args, msg) in actions.iteritems():
753 if m == 'c': 763 if m == 'c':
754 backup = (f in fileconflicts or f in pathconflicts or 764 backup = (f in fileconflicts or f in pathconflicts or
755 any(p in pathconflicts for p in util.finddirs(f))) 765 any(p in pathconflicts for p in util.finddirs(f)))