It's been a while, let's try again. Changes: - Use our own zlib helpers instead of the gz* functions of zlib, - ... which allows us to set the OS_CODE header consistently. - Pseudo-command "git archive gzip" to select the internal implementation in config. - Use a function pointer to plug in the internal gzip. - Tests. - Discuss performance in commit message. archive: rename archiver data field to filter_command archive-tar: factor out write_block() archive-tar: add internal gzip implementation archive-tar: use OS_CODE 3 (Unix) for internal gzip archive-tar: use internal gzip by default Documentation/git-archive.txt | 3 +- archive-tar.c | 79 ++++++++++++++++++++++++++++++----- archive.h | 2 +- t/t5000-tar-tree.sh | 28 ++++++++++--- 4 files changed, 93 insertions(+), 19 deletions(-) -- 2.36.1