util: don't use mutable default argument value
I don't think this is any tight loops and we'd need to worry about
PyObject creation overhead. Also, I'm pretty sure strptime()
will be much slower than PyObject creation (date parsing is
surprisingly slow).
--- a/mercurial/util.py Sun Mar 12 21:53:03 2017 -0700
+++ b/mercurial/util.py Sun Mar 12 21:54:32 2017 -0700
@@ -1827,9 +1827,11 @@
return None, s
-def strdate(string, format, defaults=[]):
+def strdate(string, format, defaults=None):
"""parse a localized time string and return a (unixtime, offset) tuple.
if the string cannot be parsed, ValueError is raised."""
+ defaults = defaults or []
+
# NOTE: unixtime = localunixtime + offset
offset, date = parsetimezone(string)