[PATCH 0/1] Fix format detection when archiving remotely
- From
steadmon@google.com <steadmon@google.com>
- Date
- Oct 19, 2018, 23:19 UTC
- Message-ID
- <cover.1539990488.git.steadmon@google.com>
Currently, git-archive does not properly determine the desired archive format when both --output and --remote are provided, because run_remote_archiver() does not initialize the archivers prior to calling archive_format_from_filename(). This results in the remote archiver always returning a TAR file, regardless of the requested format.
This patch initializes the TAR and ZIP archivers before calling archive_format_from_filename(), which fixes format detection.
Steps to reproduce:
∫ git version git version 2.19.1.568.g152ad8e336-goog ∫ cd ~/src/git ∫ git archive --output ~/good.zip HEAD ∫ file ~/good.zip /home/steadmon/good.zip: Zip archive data, at least v1.0 to extract ∫ git archive --output ~/bad.zip --remote=. HEAD ∫ file ~/bad.zip /home/steadmon/bad.zip: POSIX tar archive
(apply patch and build)
∫ ./bin-wrappers/git archive --output ~/fixed.zip --remote=. HEAD ∫ file ~/fixed.zip /home/steadmon/fixed.zip: Zip archive data, at least v1.0 to extract
Josh Steadmon (1): archive: init archivers before determining format
builtin/archive.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
-- 2.19.1.568.g152ad8e336-goog