@matheusbsbs / matheus-bagliano / commits / df368fae35
Fork 0

Makefile: use git-archive --add-file

Add untracked files for the dist target directly using git archive instead of calling tar cr to append them. This reduces the dependency on external tools and gives the untracked files the same access times and user information as tracked ones, integrating them seamlessly. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

René Scharfe committed Sep 19, 2020 at 23:23 UTC df368fae35ce23f5b373cd567595063997bdb61c
1 file changed +19 -22
Makefile
+19 -22
@@ -3045,32 +3045,29 @@ quick-install-html:
3045 # With GNU tar, "--mode=u+rwX,og+rX,og-w" would be a good idea, for example.
3046 TAR_DIST_EXTRA_OPTS =
3047 GIT_TARNAME = git-$(GIT_VERSION)
3048 +GIT_ARCHIVE_EXTRA_FILES = \
3049 + --prefix=$(GIT_TARNAME)/ \
3050 + --add-file=configure \
3051 + --add-file=$(GIT_TARNAME)/version \
3052 + --prefix=$(GIT_TARNAME)/git-gui/ \
3053 + --add-file=$(GIT_TARNAME)/git-gui/version
3054 +ifdef DC_SHA1_SUBMODULE
3055 +GIT_ARCHIVE_EXTRA_FILES += \
3056 + --prefix=$(GIT_TARNAME)/sha1collisiondetection/ \
3057 + --add-file=sha1collisiondetection/LICENSE.txt \
3058 + --prefix=$(GIT_TARNAME)/sha1collisiondetection/lib/ \
3059 + --add-file=sha1collisiondetection/lib/sha1.c \
3060 + --add-file=sha1collisiondetection/lib/sha1.h \
3061 + --add-file=sha1collisiondetection/lib/ubc_check.c \
3062 + --add-file=sha1collisiondetection/lib/ubc_check.h
3063 +endif
3064 dist: git-archive$(X) configure
3049 - ./git-archive --format=tar \
3050 - --prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar
3065 @mkdir -p $(GIT_TARNAME)
3052 - @cp configure $(GIT_TARNAME)
3066 @echo $(GIT_VERSION) > $(GIT_TARNAME)/version
3067 @$(MAKE) -C git-gui TARDIR=../$(GIT_TARNAME)/git-gui dist-version
3055 - $(TAR) rf $(GIT_TARNAME).tar $(TAR_DIST_EXTRA_OPTS) \
3056 - $(GIT_TARNAME)/configure \
3057 - $(GIT_TARNAME)/version \
3058 - $(GIT_TARNAME)/git-gui/version
3059 -ifdef DC_SHA1_SUBMODULE
3060 - @mkdir -p $(GIT_TARNAME)/sha1collisiondetection/lib
3061 - @cp sha1collisiondetection/LICENSE.txt \
3062 - $(GIT_TARNAME)/sha1collisiondetection/
3063 - @cp sha1collisiondetection/LICENSE.txt \
3064 - $(GIT_TARNAME)/sha1collisiondetection/
3065 - @cp sha1collisiondetection/lib/sha1.[ch] \
3066 - $(GIT_TARNAME)/sha1collisiondetection/lib/
3067 - @cp sha1collisiondetection/lib/ubc_check.[ch] \
3068 - $(GIT_TARNAME)/sha1collisiondetection/lib/
3069 - $(TAR) rf $(GIT_TARNAME).tar $(TAR_DIST_EXTRA_OPTS) \
3070 - $(GIT_TARNAME)/sha1collisiondetection/LICENSE.txt \
3071 - $(GIT_TARNAME)/sha1collisiondetection/lib/sha1.[ch] \
3072 - $(GIT_TARNAME)/sha1collisiondetection/lib/ubc_check.[ch]
3073 -endif
3068 + ./git-archive --format=tar \
3069 + $(GIT_ARCHIVE_EXTRA_FILES) \
3070 + --prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar
3071 @$(RM) -r $(GIT_TARNAME)
3072 gzip -f -9 $(GIT_TARNAME).tar
3073