Jakub Narębski <jnareb@xxxxxxxxx> writes: >> My gut feeling is that overflow handling needs to be there whether the >> field is 32-bit or 64-bit. > > Not if the size on-disk is the same as the size in memory: > timestamp_t is usually 64 bit (and even unsigned 64 bit epoch > would be enough - its range is over twenty times the present > age of the universe per direction). Yes, and "corrected commit dates" is about accommodating commits with absurd out-of-sync timestamp mixed in a history with commits with correct timestamp, right? What happens if the absurd timestamp is near the limit of the range? You do not have to live through the end of the universe---you only have to create a commit object that records such a timestamp, no?