Makefile: use git init/add/commit/archive for dist-doc

Reduce the dependency on external tools by generating the distribution archives for HTML documentation and manpages using git commands instead of tar. This gives the archive entries the same meta data as those in the dist archive for binaries. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

René Scharfe committed Oct 10, 2020 at 18:45 UTC 93e70311730b3c93c7f1357b7644355a5f04bba3
1 file changed +11 -3
Makefile
+11 -3
index 95571ee3fc..b7f3708292 100644 --- a/Makefile +++ b/Makefile @@ -3105,11 +3105,15 @@ artifacts-tar:: $(ALL_COMMANDS_TO_INSTALL) $(SCRIPT_LIB) $(OTHER_PROGRAMS) \ htmldocs = git-htmldocs-$(GIT_VERSION) manpages = git-manpages-$(GIT_VERSION) .PHONY: dist-doc distclean -dist-doc: +dist-doc: git$X $(RM) -r .doc-tmp-dir mkdir .doc-tmp-dir $(MAKE) -C Documentation WEBDOC_DEST=../.doc-tmp-dir install-webdoc - cd .doc-tmp-dir && $(TAR) cf ../$(htmldocs).tar $(TAR_DIST_EXTRA_OPTS) . + ./git -C .doc-tmp-dir init + ./git -C .doc-tmp-dir add . + ./git -C .doc-tmp-dir commit -m htmldocs + ./git -C .doc-tmp-dir archive --format=tar --prefix=./ HEAD^{tree} \ + > $(htmldocs).tar gzip -n -9 -f $(htmldocs).tar : $(RM) -r .doc-tmp-dir @@ -3119,7 +3123,11 @@ dist-doc: man5dir=../.doc-tmp-dir/man5 \ man7dir=../.doc-tmp-dir/man7 \ install - cd .doc-tmp-dir && $(TAR) cf ../$(manpages).tar $(TAR_DIST_EXTRA_OPTS) . + ./git -C .doc-tmp-dir init + ./git -C .doc-tmp-dir add . + ./git -C .doc-tmp-dir commit -m manpages + ./git -C .doc-tmp-dir archive --format=tar --prefix=./ HEAD^{tree} \ + > $(manpages).tar gzip -n -9 -f $(manpages).tar $(RM) -r .doc-tmp-dir