debugcommands: force import of fileset in debugfileset
authorAugie Fackler <augie@google.com>
Thu, 09 Aug 2018 11:56:24 -0400
changeset 39010 4d992e3f10ba
parent 39009 ee97f7a677f3
child 39011 633249d226c7
debugcommands: force import of fileset in debugfileset It looks like Python 3's lazy importer is better than Python 2's for this command, and as a result we had no symbols in the filesetlang symbol table, which resulted in some really mysterious test-fileset.t failures around withstatus optimizations. Inserting this explicit import and forcing its evaluation fixes the test failure. Differential Revision: https://phab.mercurial-scm.org/D4172
mercurial/debugcommands.py
--- a/mercurial/debugcommands.py	Tue Aug 07 17:22:33 2018 -0700
+++ b/mercurial/debugcommands.py	Thu Aug 09 11:56:24 2018 -0400
@@ -896,6 +896,8 @@
     _('[-r REV] [--all-files] [OPTION]... FILESPEC'))
 def debugfileset(ui, repo, expr, **opts):
     '''parse and apply a fileset specification'''
+    from . import fileset
+    fileset.symbols # force import of fileset so we have predicates to optimize
     opts = pycompat.byteskwargs(opts)
     ctx = scmutil.revsingle(repo, opts.get('rev'), None)