date: fix parsing months stable
authorJun Wu <quark@fb.com>
Fri, 16 Feb 2018 13:25:39 -0800
branchstable
changeset 35823 48783333f45c
parent 35822 9f454a717c43
child 35824 e978e0c13252
child 36272 d879aab17786
date: fix parsing months Thanks nemo for discovering this on #mercurial IRC channel. Test Plan: Add a test. It fails before this patch: ``` + hg: parse error: invalid date: 'Feb 2018' + hg: parse error: invalid date: 'Apr 2018' + hg: parse error: invalid date: 'Jun 2018' + hg: parse error: invalid date: 'Sep 2018' + hg: parse error: invalid date: 'Nov 2018' ``` Differential Revision: https://phab.mercurial-scm.org/D2289
mercurial/util.py
tests/test-parse-date.t
--- a/mercurial/util.py	Tue Feb 13 18:12:26 2018 +0800
+++ b/mercurial/util.py	Fri Feb 16 13:25:39 2018 -0800
@@ -2179,7 +2179,7 @@
             try:
                 d["d"] = days
                 return parsedate(date, extendeddateformats, d)[0]
-            except Abort:
+            except error.ParseError:
                 pass
         d["d"] = "28"
         return parsedate(date, extendeddateformats, d)[0]
--- a/tests/test-parse-date.t	Tue Feb 13 18:12:26 2018 +0800
+++ b/tests/test-parse-date.t	Fri Feb 16 13:25:39 2018 -0800
@@ -286,3 +286,9 @@
   $ hg debugdate "2016-07-27 121021Z"
   internal: 1469621421 0
   standard: Wed Jul 27 12:10:21 2016 +0000
+
+Test parsing months
+
+  $ for i in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec; do
+  >   hg log -d "$i 2018" -r null
+  > done