diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -1315,6 +1315,7 @@ def matchdate(date): d["d"] = "28" return parsedate(date, extendeddateformats, d)[0] + date = date.strip() if date[0] == "<": when = upper(date[1:]) return lambda x: x <= when diff --git a/tests/test-parse-date b/tests/test-parse-date --- a/tests/test-parse-date +++ b/tests/test-parse-date @@ -43,3 +43,41 @@ hg debugdate "1000000000 15300" # -0415 hg debugdate "1000000000 16200" # -0430 hg debugdate "Sat Sep 08 21:16:40 2001 +0430" hg debugdate "Sat Sep 08 21:16:40 2001 -0430" + +#Test date formats with '>' or '<' accompanied by space characters +hg log -d '>' --template '{date|date}\n' +hg log -d '<' hg log -d '>' --template '{date|date}\n' + +hg log -d ' >' --template '{date|date}\n' +hg log -d ' <' --template '{date|date}\n' + +hg log -d '> ' --template '{date|date}\n' +hg log -d '< ' --template '{date|date}\n' + +hg log -d ' > ' --template '{date|date}\n' +hg log -d ' < ' --template '{date|date}\n' + + +hg log -d '>02/01' --template '{date|date}\n' +hg log -d '<02/01' --template '{date|date}\n' + +hg log -d ' >02/01' --template '{date|date}\n' +hg log -d ' <02/01' --template '{date|date}\n' + +hg log -d '> 02/01' --template '{date|date}\n' +hg log -d '< 02/01' --template '{date|date}\n' + +hg log -d ' > 02/01' --template '{date|date}\n' +hg log -d ' < 02/01' --template '{date|date}\n' + +hg log -d '>02/01 ' --template '{date|date}\n' +hg log -d '<02/01 ' --template '{date|date}\n' + +hg log -d ' >02/01 ' --template '{date|date}\n' +hg log -d ' <02/01 ' --template '{date|date}\n' + +hg log -d '> 02/01 ' --template '{date|date}\n' +hg log -d '< 02/01 ' --template '{date|date}\n' + +hg log -d ' > 02/01 ' --template '{date|date}\n' +hg log -d ' < 02/01 ' --template '{date|date}\n' \ No newline at end of file diff --git a/tests/test-parse-date.out b/tests/test-parse-date.out --- a/tests/test-parse-date.out +++ b/tests/test-parse-date.out @@ -34,3 +34,111 @@ internal: 999967600 -16200 standard: Sat Sep 08 21:16:40 2001 +0430 internal: 1000000000 16200 standard: Sat Sep 08 21:16:40 2001 -0430 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000 +Sun Jan 15 13:30:00 2006 +0500 +Sun Jan 15 13:30:00 2006 -0800 +Sat Jul 15 13:30:00 2006 +0500 +Sat Jul 15 13:30:00 2006 -0700 +Sun Jun 11 00:26:40 2006 -0400 +Sat Apr 15 13:30:00 2006 +0200 +Sat Apr 15 13:30:00 2006 +0000 +Wed Feb 01 13:00:30 2006 -0500 +Wed Feb 01 13:00:30 2006 +0000