# Well-past commit dates unsupported

1 messages from 2013-10-28 to 2013-10-28. Participants: Jean LAULIAC.
Thread: https://gitlist.dev/t/35222

## Jean LAULIAC, 2013-10-28 10:04

Subject: Well-past commit dates unsupported
Message-ID: <CALM1TLiVTq6kPB7Ke_VDEc+Fs8u5NknCOHH_CuOzphQY3b_HeA@mail.gmail.com>
URL: https://gitlist.dev/e/CALM1TLiVTq6kPB7Ke_VDEc%2BFs8u5NknCOHH_CuOzphQY3b_HeA%40mail.gmail.com

```
Hi there,

I'm trying to use a well-past date for a git commit, before the UNIX Epoch, but
this does not work for the reasons below. I'm on Mac OS X 10.8, git version
1.8.3.4, and `sizeof(time_t) == 8`. The date I'm trying to set is October 4,
1958, that is around timestamp -354808800.

First technique, using the commit `--date` flags with ISO 8601: it says
"invalid date".

Second technique, described in the git ml archive, not using the porcelain:
http://article.gmane.org/gmane.comp.version-control.git/152497/

    git commit
    git cat-file -p HEAD > tmp.txt
    # at this point, edit the file to replace the timestamp

    git hash-object -t commit -w tmp.txt
    #=> 2ee8fcc02658e23219143f5bcfe6f9a4615745f9
    git update-ref -m 'commit: foo' refs/heads/master \
        2ee8fcc02658e23219143f5bcfe6f9a4615745f9

Commit date is effectively updated, but `git show` clamps the date to zero
(`Jan 1 1970`). `tig(1)` displays `55 years ago` so the actual commit date is
properly stored.

Last issue: when trying to push this commit to a remote repository:

    #=> remote: error: object 2ee8fcc02658e23219143f5bcfe6f9a4615745f9:invalid
    #       author/committer line - bad date
    #=> remote: fatal: Error in object
    #=> error: unpack failed: index-pack abnormal exit

Finally, when running `test-date` from git sources:

    ./test-date show -354808800
    #=> -354808800 -> in the future

Is it a deliberate git behavior? Is fully supporting past or far future dates
in the roadmap, since the referenced message above from 2010? Should I try
to make a patch?

Thanks!

PS: use case for past dates is to match the historical law changes. As others
did before, I'm trying to map the history of France Constitution to git.

-- 
Jean Lauliac <jean@lauliac.com>

```
