Am 12.05.22 um 23:31 schrieb Junio C Hamano: > Junio C Hamano <gitster@xxxxxxxxx> writes: > >>> So we currently leak permission bits of executable files into ZIP >>> archives, but not tar files. :-| Normalizing those to 0755 would be >>> more consistent. > > Today, I was scanning the "What's cooking" draft and saw too many > topics that are marked with "Expecting a reroll". It turns out that > this "mode bits" thing will not be a blocker to make us wait for a > reroll of the topic, so let's handle it separately, before we > forget, as an independent fix outside the series under discussion. > > Thanks. > > --- >8 --- > Subject: [PATCH] archive: do not let on-disk mode leak to zip archives > > When the "--add-file" option is used to add the contents from an > untracked file to the archive, the permission mode bits for these > files are sent to the archive-backend specific "write_entry()" > method as-is. We normalize the mode bits for tracked files way > before we pass them to the write_entry() method; we should do the > same here. > > This is not strictly needed for "tar" archive-backend, as it has its > own code to further clean them up, but "zip" archive-backend is not > so well prepared. > > Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> > --- > archive.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/archive.c b/archive.c > index e29d0e00f6..12a08af531 100644 > --- a/archive.c > +++ b/archive.c > @@ -342,7 +342,7 @@ int write_archive_entries(struct archiver_args *args, > else > err = write_entry(args, &fake_oid, path_in_archive.buf, > path_in_archive.len, > - info->stat.st_mode, > + canon_mode(info->stat.st_mode), > content.buf, content.len); > if (err) > break; Looks good to me, thank you! René