[PATCH] util: make strdate's defaults default value a dict

Gregory Szorc gregory.szorc at gmail.com
Tue Mar 14 15:51:40 UTC 2017


# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1489506695 25200
#      Tue Mar 14 08:51:35 2017 -0700
# Node ID e01f9adb10b291031c67c887ea46f69a1cdbf797
# Parent  ed23f929af38e3249a4c0b258939e89782b20795
util: make strdate's defaults default value a dict

It was specified to be an empty list in c6adf2be6069 in 2007.
It was correct at the time. But when the function was
refactored in 91bc001a592f (2010), it started expecting a dict.
I guess this code path is untested?

Thanks to Yuya for spotting this.

diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1830,7 +1830,7 @@ def parsetimezone(s):
 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 []
+    defaults = defaults or {}
 
     # NOTE: unixtime = localunixtime + offset
     offset, date = parsetimezone(string)


More information about the Mercurial-devel mailing list