util: explicitly tests for None
Changeset 8b6927eb7efd removed the mutable default value, but did not explicitly
tested for None. Such implicit checking can introduce semantic and performance
issue. We move to an explicit check for None as recommended by PEP8:
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
--- a/mercurial/util.py Wed Mar 15 15:38:02 2017 -0700
+++ b/mercurial/util.py Wed Mar 15 15:07:14 2017 -0700
@@ -1831,7 +1831,8 @@
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 {}
+ if defaults is None:
+ defaults = {}
# NOTE: unixtime = localunixtime + offset
offset, date = parsetimezone(string)