Mercurial > public > mercurial-scm > hg
comparison mercurial/merge.py @ 15894:44fa047cef57
merge: report all files in _checkunknown
When doing hg up, if there is a file conflict with untracked files,
currently only the first such conflict is reported. With this patch,
all of them are listed.
With this patch error message is now reported as
a: untracked file differs
b: untracked file differs
abort: untracked files in working directory conflict with files in
requested revision
instead of
abort: untracked file in working directory differs from file in
requested revision: 'a'
This is a follow up to an old attempt to do this here:
http://selenic.com/pipermail/mercurial-devel/2011-August/033625.html
author | Jordi Guti?rrez Hermoso <jordigh@octave.org> |
---|---|
date | Wed, 11 Jan 2012 15:53:42 -0500 |
parents | 0bd17a4bed88 |
children | fcf66193b186 |
comparison
equal
deleted
inserted
replaced
15893:eb6867b98223 | 15894:44fa047cef57 |
---|---|
88 else: | 88 else: |
89 foldf = lambda fn: fn | 89 foldf = lambda fn: fn |
90 folded = {} | 90 folded = {} |
91 for fn in mctx: | 91 for fn in mctx: |
92 folded[foldf(fn)] = fn | 92 folded[foldf(fn)] = fn |
93 | |
94 error = False | |
93 for fn in wctx.unknown(): | 95 for fn in wctx.unknown(): |
94 f = foldf(fn) | 96 f = foldf(fn) |
95 if f in folded and mctx[folded[f]].cmp(wctx[f]): | 97 if f in folded and mctx[folded[f]].cmp(wctx[f]): |
96 raise util.Abort(_("untracked file in working directory differs" | 98 error = True |
97 " from file in requested revision: '%s'") % fn) | 99 wctx._repo.ui.warn(_("%s: untracked file differs\n") % fn) |
100 if error: | |
101 raise util.Abort(_("untracked files in working directory differ " | |
102 "from files in requested revision")) | |
98 | 103 |
99 def _checkcollision(mctx, wctx): | 104 def _checkcollision(mctx, wctx): |
100 "check for case folding collisions in the destination context" | 105 "check for case folding collisions in the destination context" |
101 folded = {} | 106 folded = {} |
102 for fn in mctx: | 107 for fn in mctx: |