record: avoid modifying the matcher passed as a method parameter
authorMatt Harbison <matt_harbison@yahoo.com>
Sat, 11 May 2019 22:08:57 -0400
changeset 42270 19b95afb0c01
parent 42269 c8d55ff80da1
child 42271 0ed293a3f00e
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
mercurial/cmdutil.py
--- 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)