You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This temporarily instruments a fixture script to reveal how the
`access::generation_numbers_overflow_is_handled_in_chained_graph`
test fails when `GIX_TEST_IGNORE_ARCHIVES=1` is set: the fixture
script `generation_number_overflow.sh` runs, and it sets the
timestamp `@4147483646` on a commit, which `git` permits. But then
`git tag` rejects this timestamp as being out of range. On stderr:
+ commit future-1 '@4147483646 +0000'
+ local message=future-1
+ local 'date=@4147483646 +0000'
+ local file=future-1.t
+ echo future-1
+ git add -- future-1.t
+ '[' -n '@4147483646 +0000' ']'
+ export 'GIT_COMMITTER_DATE=@4147483646 +0000'
+ GIT_COMMITTER_DATE='@4147483646 +0000'
+ git commit -m future-1
+ git tag future-1
fatal: Timestamp too large for this system: 4147483646
The nature of the problem is *partially* illuminated by the
following experiment on a 32-bit Debian 12 system:
$ git init repo
Initialized empty Git repository in /home/ek/src/repo/.git/
$ cd repo
$ touch a
$ git add a
$ GIT_COMMITTER_DATE='@4147483646 +0000' git commit -m 'Initial commit'
[main (root-commit) 99b1de4] Initial commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a
$ git log --pretty=fuller
commit 99b1de4e0610ff715e784bd4089dc315e8071332 (HEAD -> main)
Author: Eliah Kagan <[email protected]>
AuthorDate: Sat Nov 23 01:05:12 2024 -0500
Commit: Eliah Kagan <[email protected]>
CommitDate: Thu Jan 1 00:00:00 1970 +0000
Initial commit
$ git tag t
fatal: Timestamp too large for this system: 4147483646
$ git tag -a t
fatal: Timestamp too large for this system: 4147483646
The timestamp is accepted when committing, and written as actor
metadata for the committer. But is is not (or at least not always)
interpreted as intended: as `git log` shows it, it has wrapped
around to 1970. Even though the commit was created successfully,
attempting to make a tag that points to it fails. This happens both
for a lightweight tag (as in the fixture script) and an annotated
tag, so making it a tag object does not seem to be a workaround.
0 commit comments