Mercurial > hg-stable
changeset 35297:5db3c748ce8f
merge: don't check for unknown files in IMM
Differential Revision: https://phab.mercurial-scm.org/D1214
author | Phil Cohen <phillco@fb.com> |
---|---|
date | Thu, 07 Dec 2017 13:20:47 -0800 |
parents | 3398603c5621 |
children | 2f8c476c49fe |
files | mercurial/merge.py |
diffstat | 1 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/merge.py Fri Oct 13 14:08:14 2017 -0700 +++ b/mercurial/merge.py Thu Dec 07 13:20:47 2017 -0800 @@ -646,6 +646,14 @@ return config def _checkunknownfile(repo, wctx, mctx, f, f2=None): + if wctx.isinmemory(): + # Nothing to do in IMM because nothing in the "working copy" can be an + # unknown file. + # + # Note that we should bail out here, not in ``_checkunknownfiles()``, + # because that function does other useful work. + return False + if f2 is None: f2 = f return (repo.wvfs.audit.check(f) @@ -674,7 +682,11 @@ # updated with any new dirs that are checked and found to be absent. self._missingdircache = set() - def __call__(self, repo, f): + def __call__(self, repo, wctx, f): + if wctx.isinmemory(): + # Nothing to do in IMM for the same reason as ``_checkunknownfile``. + return False + # Check for path prefixes that exist as unknown files. for p in reversed(list(util.finddirs(f))): if p in self._missingdircache: @@ -726,7 +738,7 @@ if _checkunknownfile(repo, wctx, mctx, f): fileconflicts.add(f) elif pathconfig and f not in wctx: - path = checkunknowndirs(repo, f) + path = checkunknowndirs(repo, wctx, f) if path is not None: pathconflicts.add(path) elif m == 'dg':