# HG changeset patch # User Gregory Szorc # Date 2017-03-13 04:53:03 # Node ID 6168d4b93634a518a487d96ec64d0efb63b20ac0 # Parent d2878bec55bdc12623995f93bf05a5423d99ab5a match: don't use mutable default argument value There shouldn't be a big perf hit creating a new object because this function is complicated and does things that dwarf the cost of creating a new PyObject. diff --git a/mercurial/match.py b/mercurial/match.py --- a/mercurial/match.py +++ b/mercurial/match.py @@ -85,7 +85,7 @@ def _kindpatsalwaysmatch(kindpats): return True class match(object): - def __init__(self, root, cwd, patterns, include=[], exclude=[], + def __init__(self, root, cwd, patterns, include=None, exclude=None, default='glob', exact=False, auditor=None, ctx=None, listsubrepos=False, warn=None, badfn=None): """build an object to match a set of file patterns @@ -117,6 +117,8 @@ class match(object): the same directory '' - a pattern of the specified default type """ + include = include or [] + exclude = exclude or [] self._root = root self._cwd = cwd