Am 17.02.23 um 16:43 schrieb Raul Rangel: > On Thu, Feb 16, 2023 at 7:04 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: >> >> Jeff King <peff@xxxxxxxx> writes: >> >>> A similar option in is to simply start using "0" in the meantime, like: >>> >>> diff --git a/archive.c b/archive.c >>> index 81ff76fce9..48d89785c3 100644 >>> --- a/archive.c >>> +++ b/archive.c >>> @@ -470,7 +470,7 @@ static void parse_treeish_arg(const char **argv, >>> archive_time = commit->date; >>> } else { >>> commit_oid = NULL; >>> - archive_time = time(NULL); >>> + archive_time = 0; >>> } >>> >>> tree = parse_tree_indirect(&oid); >>> >>> Nobody will complain about changing the byte-for-byte format, since by definition it >>> was already changing once per second (cue somebody complaining that they >>> have been using LD_PRELOAD tricks to simulate --mtime). And how are you now going to tell the current time on a remote git server? ;) >>> I do wonder if people would complain (both with the patch above and with >>> brian's proposal) that the resulting tarballs extract everything with a >>> date in 1970. That's not functionally a problem, but it looks kind of >>> weird in "ls -l". Yes, 21st century artifacts being sent back in time looks a bit strange. GNU tar and bsdtar provide option -m to ignore mtimes when extracting. >> And owned by root:root ;-) > > I fully support both of those easy changes. Only reason I proposed > --mtime was that https://reproducible-builds.org/docs/archives/ > recommends setting SOURCE_DATE_EPOCH, but honestly for my purposes I > would always use 0 and root:root. git archive already records root as user and group. >> I am sure people would complain. What matters is if these >> complaints have merit, and in this case, I doubt it. I especially >> like your "it has been already changing once per second" reasoning >> for this change. I find it quite convincing as well. René