merge: skip syntactic path checks in [_checkunknownfile]
We don't need to check the paths syntactically, since they are coming from
diffing the revisions, so hopefully already checked on the way in.
We still need to check what's on the filesystem, to avoid traversing the
symlinks or subdirs, which we can't know about statically.
Also, we use the directory audit to elide [isfileorlink],
this removing ~all lstat calls from hg updates from-empty.
# extension to emulate interrupting filemerge._filemerge
from mercurial import (
error,
extensions,
filemerge,
)
def failfilemerge(*args, **kwargs):
raise error.Abort(b"^C")
def extsetup(ui):
extensions.wrapfunction(filemerge, 'filemerge', failfilemerge)