diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -1222,9 +1222,13 @@ def matchdate(date): if not date: raise Abort(_("dates cannot consist entirely of whitespace")) elif date[0] == "<": + if not date[1:]: + raise Abort(_("invalid day spec. use '<{datetime}' ")) when = upper(date[1:]) return lambda x: x <= when elif date[0] == ">": + if not date[1:]: + raise Abort(_("invalid day spec. use '>{datetime}' ")) when = lower(date[1:]) return lambda x: x >= when elif date[0] == "-": diff --git a/tests/test-log.t b/tests/test-log.t --- a/tests/test-log.t +++ b/tests/test-log.t @@ -522,6 +522,18 @@ log -d -1 $ hg log -d -1 +log -d ">" + + $ hg log -d ">" + abort: invalid day spec. use '>{datetime}' + [255] + +log -d "<" + + $ hg log -d "<" + abort: invalid day spec. use '<{datetime}' + [255] + log -p -l2 --color=always