record: avoid modifying the matcher passed as a method parameter
No problem observed, but I remember the previous pattern causing problems with
largefiles and/or subrepos. This special matcher was added in
419ac63fe29c, so
directly modifying the `fail` callback was probably an oversight in
44611ad4fbd9.
Differential Revision: https://phab.mercurial-scm.org/D6371
--- a/mercurial/cmdutil.py Sat May 04 23:31:42 2019 -0400
+++ b/mercurial/cmdutil.py Sat May 11 22:08:57 2019 -0400
@@ -278,8 +278,8 @@
force = opts.get('force')
if not force:
vdirs = []
+ match = matchmod.badmatch(match, fail)
match.explicitdir = vdirs.append
- match.bad = fail
status = repo.status(match=match)