Skip to content

Commit df368fa

Browse files
rscharfegitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 2947a79 commit df368fa

File tree

1 file changed

+19
-22
lines changed

1 file changed

+19
-22
lines changed

Makefile

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3045,32 +3045,29 @@ quick-install-html:
30453045
# With GNU tar, "--mode=u+rwX,og+rX,og-w" would be a good idea, for example.
30463046
TAR_DIST_EXTRA_OPTS =
30473047
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
30483064
dist: git-archive$(X) configure
3049-
./git-archive --format=tar \
3050-
--prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar
30513065
@mkdir -p $(GIT_TARNAME)
3052-
@cp configure $(GIT_TARNAME)
30533066
@echo $(GIT_VERSION) > $(GIT_TARNAME)/version
30543067
@$(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
30743071
@$(RM) -r $(GIT_TARNAME)
30753072
gzip -f -9 $(GIT_TARNAME).tar
30763073

0 commit comments

Comments
 (0)