`bazel-git archive` regular files are `-rw-r--r--` rather than `-rw-rw-r--` that `git archive` does
Not sure where the g+w
comes from in upstream.
go-git
calculates the mode in FileMode#ToOSFileMode as 0644
git
calculates it in canon_mode, which uses S_IFREG
plus ce_permissions which results in either 0644
.
git archive
walks the entries and passes info->stat.st_mode to canon_mode, so one would expect 0644
.
git archive
does a bitwise OR with 0666
when calculating the final archive permissions in write_tar_entry.