Merge branch 'js/larger-timestamps'
commitb15667bbdc5ab7732caac977068f5d1cf083115e
authorJunio C Hamano <gitster@pobox.com>
Tue, 16 May 2017 02:51:59 +0000 (16 11:51 +0900)
committerJunio C Hamano <gitster@pobox.com>
Tue, 16 May 2017 02:51:59 +0000 (16 11:51 +0900)
treead171d36adab7298daa32172dd81906899a38660
parentafc5f2ce63be2a51b1f87467065e47c398468c9e
parent3f789719a65bfa6c302e8f794847a3eb69b6881b
Merge branch 'js/larger-timestamps'

Some platforms have ulong that is smaller than time_t, and our
historical use of ulong for timestamp would mean they cannot
represent some timestamp that the platform allows.  Invent a
separate and dedicated timestamp_t (so that we can distingiuish
timestamps and a vanilla ulongs, which along is already a good
move), and then declare uintmax_t is the type to be used as the
timestamp_t.

* js/larger-timestamps:
  archive-tar: fix a sparse 'constant too large' warning
  use uintmax_t for timestamps
  date.c: abort if the system time cannot handle one of our timestamps
  timestamp_t: a new data type for timestamps
  PRItime: introduce a new "printf format" for timestamps
  parse_timestamp(): specify explicitly where we parse timestamps
  t0006 & t5000: skip "far in the future" test when time_t is too limited
  t0006 & t5000: prepare for 64-bit timestamps
  ref-filter: avoid using `unsigned long` for catch-all data type
16 files changed:
archive-zip.c
builtin/am.c
builtin/fsck.c
builtin/gc.c
builtin/receive-pack.c
builtin/worktree.c
cache.h
config.c
fetch-pack.c
git-compat-util.h
refs.c
refs.h
refs/files-backend.c
t/helper/test-ref-store.c
t/test-lib.sh
wt-status.c