# HG changeset patch # User Martin von Zweigbergk # Date 1611966413 28800 # Node ID 6894c9ef4dcd3511c9baf7cdce72a65b4385ccc8 # Parent dc00324e80f41ec5f5a7c4dc36b5c7af2390fda5 errors: use InputError for incorrectly formatted dates Differential Revision: https://phab.mercurial-scm.org/D9913 diff -r dc00324e80f4 -r 6894c9ef4dcd mercurial/utils/dateutil.py --- a/mercurial/utils/dateutil.py Fri Jan 29 15:56:08 2021 -0800 +++ b/mercurial/utils/dateutil.py Fri Jan 29 16:26:53 2021 -0800 @@ -68,7 +68,9 @@ timestamp = time.time() if timestamp < 0: hint = _(b"check your clock") - raise error.Abort(_(b"negative timestamp: %d") % timestamp, hint=hint) + raise error.InputError( + _(b"negative timestamp: %d") % timestamp, hint=hint + ) delta = datetime.datetime.utcfromtimestamp( timestamp ) - datetime.datetime.fromtimestamp(timestamp) @@ -328,24 +330,26 @@ date = date.strip() if not date: - raise error.Abort(_(b"dates cannot consist entirely of whitespace")) + raise error.InputError( + _(b"dates cannot consist entirely of whitespace") + ) elif date[0:1] == b"<": if not date[1:]: - raise error.Abort(_(b"invalid day spec, use '": if not date[1:]: - raise error.Abort(_(b"invalid day spec, use '>DATE'")) + raise error.InputError(_(b"invalid day spec, use '>DATE'")) when = lower(date[1:]) return lambda x: x >= when elif date[0:1] == b"-": try: days = int(date[1:]) except ValueError: - raise error.Abort(_(b"invalid day spec: %s") % date[1:]) + raise error.InputError(_(b"invalid day spec: %s") % date[1:]) if days < 0: - raise error.Abort( + raise error.InputError( _(b"%s must be nonnegative (see 'hg help dates')") % date[1:] ) when = makedate()[0] - days * 3600 * 24 diff -r dc00324e80f4 -r 6894c9ef4dcd tests/test-parse-date.t --- a/tests/test-parse-date.t Fri Jan 29 15:56:08 2021 -0800 +++ b/tests/test-parse-date.t Fri Jan 29 16:26:53 2021 -0800 @@ -103,43 +103,43 @@ $ hg log -d "--2" abort: -2 must be nonnegative (see 'hg help dates') - [255] + [10] Whitespace only $ hg log -d " " abort: dates cannot consist entirely of whitespace - [255] + [10] Test date formats with '>' or '<' accompanied by space characters $ hg log -d '>' --template '{date|date}\n' abort: invalid day spec, use '>DATE' - [255] + [10] $ hg log -d '<' --template '{date|date}\n' abort: invalid day spec, use '' --template '{date|date}\n' abort: invalid day spec, use '>DATE' - [255] + [10] $ hg log -d ' <' --template '{date|date}\n' abort: invalid day spec, use ' ' --template '{date|date}\n' abort: invalid day spec, use '>DATE' - [255] + [10] $ hg log -d '< ' --template '{date|date}\n' abort: invalid day spec, use ' ' --template '{date|date}\n' abort: invalid day spec, use '>DATE' - [255] + [10] $ hg log -d ' < ' --template '{date|date}\n' abort: invalid day spec, use '02/01' --template '{date|date}\n' $ hg log -d '<02/01' --template '{date|date}\n'