mirror of
https://git.savannah.gnu.org/git/tar.git
synced 2026-04-19 16:15:10 +00:00
The new `--clamp-mtime` option will change the behavior of `--mtime` to only use the time specified if the file mtime is newer than the given time. The `--clamp-mtime` option can only be used together with `--mtime`. Typical use case is to make builds reproducible: to loose less information, it's better to keep the original date of an archive, except for files modified during the build process. In that case, using a reference (and thus reproducible) timestamps for the latter is good enough. See <https://wiki.debian.org/ReproducibleBuilds> for more information. Patch submitted by Jeremy Bobbio and Daniel Kahn Gillmor <dkg@fifthhorseman.net> * doc/tar.1: Document --clamp-mtime * doc/tar.texi: Likewise. * src/common.h (set_mtime_option_mode): New enum (set_mtime_option): Change type to enum set_mtime_option_mode. (NEWER_OPTION_INITIALIZED): Rename to NEWER_OPTION_INITIALIZED. * src/create.c (start_header): Set mtime depending on set_mtime_option. * src/tar.c (options,parse_opt): New option --clamp-mtime (decode_options): Initialize mtime_option * tests/time02.at: New testcase. * tests/Makefile.am: Add new testcase * tests/testsuite.at: Likewise.