In addition of CharlesB's script, make sure yo use Git 2.20+ (Q4 201), because git archive -o latest_${branch}_${sha1}.zip
can produce a tar file instead of a zip one (bug which has been fixed), if use for a --remote
repo.
See commit 00436bf (25 Oct 2018) by Josh Steadmon (``).
Helped-by: Jeff King (peff
).
(Merged by Junio C Hamano -- gitster
-- in commit a5ab66e, 06 Nov 2018)
archive: initialize archivers earlier
Initialize archivers as soon as possible when running git archive
.
Various non-obvious behavior depends on having the archivers initialized, such as determining the desired archival format from the provided filename.
Since 08716b3 ("archive
: refactor file extension format-guessing",
2011-06-21, Git v1.7.7-rc0), archive_format_from_filename() has used the registered
archivers to match filenames (provided via --output
) to archival
formats.
However, when git archive
is executed with --remote
, format detection happens before the archivers have been registered.
This causes archives from remotes to always be generated as TAR files, regardless of
the actual filename (unless an explicit --format
is provided).
This patch fixes that behavior; archival format is determined properly
from the output filename, even when --remote
is used.