From fd2da4b1ea871df317322f33e82cb3aa1f95ee10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scharfe?= Date: Sat, 18 Feb 2023 09:36:23 +0100 Subject: archive: add --mtime MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow users to specify the modification time of archive entries. The new option --mtime uses approxidate() to parse a time specification and overrides the default of using the current time for trees and the commit time for tags and commits. It can be used to create a reproducible archive for a tree, or to use a specific mtime without creating a commit with GIT_COMMITTER_DATE set. This implementation doesn't support the negated form of the new option, i.e. --no-mtime is not accepted. It is not possible to have no mtime at all. We could use the Unix epoch or revert to the default behavior, but since negation is not necessary for the intended use it's left undecided for now. Requested-by: Raul E Rangel Suggested-by: demerphq Signed-off-by: René Scharfe Signed-off-by: Junio C Hamano --- archive.h | 1 + 1 file changed, 1 insertion(+) (limited to 'archive.h') diff --git a/archive.h b/archive.h index 08bed3ed3a..7178e2a9a2 100644 --- a/archive.h +++ b/archive.h @@ -16,6 +16,7 @@ struct archiver_args { struct tree *tree; const struct object_id *commit_oid; const struct commit *commit; + const char *mtime_option; timestamp_t time; struct pathspec pathspec; unsigned int verbose : 1; -- cgit v1.2.3