Subject: Re: Date and time processing issue

From: Junio C Hamano <[email-masked]>
Date: Fri, 02 Aug 2024 09:19:23 -0700

[email-masked] writes:

> To me, the error message is at least misleading. 

Correct.  The error message is prepared for the most common case
where people ask for an invalid format, but does not pay attention
to the fact that some timestamps are not out of range in the Git
timescale and such an out of range timestamp can be fed to the
program.

Something along the following line may be a good first step to fix
it.

 builtin/commit.c | 2 +-
 ident.c          | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git c/builtin/commit.c w/builtin/commit.c
index 66427ba82d..24de55ae86 100644
--- c/builtin/commit.c
+++ w/builtin/commit.c
@@ -657,7 +657,7 @@ static void determine_author_info(struct strbuf *author_ident)
 	if (force_date) {
 		struct strbuf date_buf = STRBUF_INIT;
 		if (parse_force_date(force_date, &date_buf))
-			die(_("invalid date format: %s"), force_date);
+			die(_("invalid format or date out of range: %s"), force_date);
 		set_ident_var(&date, strbuf_detach(&date_buf, NULL));
 	}
 
diff --git c/ident.c w/ident.c
index caf41fb2a9..d18773554d 100644
--- c/ident.c
+++ w/ident.c
@@ -528,7 +528,8 @@ const char *fmt_ident(const char *name, const char *email,
 		strbuf_addch(ident, ' ');
 		if (date_str && date_str[0]) {
 			if (parse_date(date_str, ident) < 0)
-				die(_("invalid date format: %s"), date_str);
+				die(_("invalid format or date out of range: %s"),
+				    date_str);
 		}
 		else
 			strbuf_addstr(ident, ident_default_date());