@@ -321,6 +321,10 @@ include shared.mak
321321# Define GIT_USER_AGENT if you want to change how git identifies itself during
322322# network interactions. The default is "git/$(GIT_VERSION)".
323323#
324+ # Define GIT_BUILT_FROM_COMMIT if you want to force the commit hash identified
325+ # in 'git version --build-options' to a specific value. The default is the
326+ # commit hash of the current HEAD.
327+ #
324328# Define DEFAULT_HELP_FORMAT to "man", "info" or "html"
325329# (defaults to "man") if you want to have a different default when
326330# "git help" is called without a parameter specifying the format.
@@ -2343,6 +2347,15 @@ GIT-USER-AGENT: FORCE
23432347 echo ' $(GIT_USER_AGENT_SQ)' > GIT-USER-AGENT; \
23442348 fi
23452349
2350+ GIT_BUILT_FROM_COMMIT = $(eval GIT_BUILT_FROM_COMMIT := $$(shell \
2351+ GIT_CEILING_DIRECTORIES="$$(CURDIR ) /.." \
2352+ git rev-parse -q --verify HEAD 2>/dev/null) )$(GIT_BUILT_FROM_COMMIT )
2353+ GIT-BUILT-FROM-COMMIT : FORCE
2354+ @if test x' $(GIT_BUILT_FROM_COMMIT)' ! = x" ` cat GIT-BUILT-FROM-COMMIT 2> /dev/null` " ; then \
2355+ echo >&2 " * new built-from commit" ; \
2356+ echo ' $(GIT_BUILT_FROM_COMMIT)' > GIT-BUILT-FROM-COMMIT; \
2357+ fi
2358+
23462359ifdef DEFAULT_HELP_FORMAT
23472360BASIC_CFLAGS += -DDEFAULT_HELP_FORMAT='"$(DEFAULT_HELP_FORMAT ) "'
23482361endif
@@ -2457,13 +2470,11 @@ PAGER_ENV_CQ_SQ = $(subst ','\'',$(PAGER_ENV_CQ))
24572470pager.sp pager.s pager.o : EXTRA_CPPFLAGS = \
24582471 -DPAGER_ENV=' $(PAGER_ENV_CQ_SQ)'
24592472
2460- version.sp version.s version.o : GIT-VERSION-FILE GIT-USER-AGENT
2473+ version.sp version.s version.o : GIT-VERSION-FILE GIT-USER-AGENT GIT-BUILT-FROM-COMMIT
24612474version.sp version.s version.o : EXTRA_CPPFLAGS = \
24622475 ' -DGIT_VERSION="$(GIT_VERSION)"' \
24632476 ' -DGIT_USER_AGENT=$(GIT_USER_AGENT_CQ_SQ)' \
2464- ' -DGIT_BUILT_FROM_COMMIT="$(shell \
2465- GIT_CEILING_DIRECTORIES=" $( CURDIR) /.." \
2466- git rev-parse -q --verify HEAD 2> /dev/null)" '
2477+ ' -DGIT_BUILT_FROM_COMMIT="$(GIT_BUILT_FROM_COMMIT)"'
24672478
24682479$(BUILT_INS ) : git$X
24692480 $(QUIET_BUILT_IN )$(RM ) $@ && \
@@ -3631,7 +3642,7 @@ dist: git-archive$(X) configure
36313642 @$(MAKE ) -C git-gui TARDIR=../.dist-tmp-dir/git-gui dist-version
36323643 ./git-archive --format=tar \
36333644 $(GIT_ARCHIVE_EXTRA_FILES ) \
3634- --prefix=$(GIT_TARNAME ) / HEAD^{tree} > $(GIT_TARNAME ) .tar
3645+ --prefix=$(GIT_TARNAME ) / HEAD > $(GIT_TARNAME ) .tar
36353646 @$(RM ) -r .dist-tmp-dir
36363647 gzip -f -9 $(GIT_TARNAME ) .tar
36373648
0 commit comments