@@ -296,6 +296,9 @@ all::
296296# the diff algorithm. It gives a nice speedup if your processor has
297297# fast unaligned word loads. Does NOT work on big-endian systems!
298298# Enabled by default on x86_64.
299+ #
300+ # Define GIT_USER_AGENT if you want to change how git identifies itself during
301+ # network interactions. The default is "git/$(GIT_VERSION)".
299302
300303GIT-VERSION-FILE : FORCE
301304 @$(SHELL_PATH ) ./GIT-VERSION-GEN
@@ -799,6 +802,7 @@ LIB_OBJS += usage.o
799802LIB_OBJS += userdiff.o
800803LIB_OBJS += utf8.o
801804LIB_OBJS += varint.o
805+ LIB_OBJS += version.o
802806LIB_OBJS += walker.o
803807LIB_OBJS += wrapper.o
804808LIB_OBJS += write_or_die.o
@@ -904,6 +908,8 @@ BUILTIN_OBJS += builtin/write-tree.o
904908GITLIBS = $(LIB_FILE ) $(XDIFF_LIB )
905909EXTLIBS =
906910
911+ GIT_USER_AGENT = git/$(GIT_VERSION )
912+
907913#
908914# Platform specific tweaks
909915#
@@ -1915,6 +1921,11 @@ SHELL_PATH_CQ_SQ = $(subst ','\'',$(SHELL_PATH_CQ))
19151921BASIC_CFLAGS += -DSHELL_PATH='$(SHELL_PATH_CQ_SQ ) '
19161922endif
19171923
1924+ GIT_USER_AGENT_SQ = $(subst ','\'',$(GIT_USER_AGENT ) )
1925+ GIT_USER_AGENT_CQ = "$(subst ",\",$(subst \,\\,$(GIT_USER_AGENT ) ) ) "
1926+ GIT_USER_AGENT_CQ_SQ = $(subst ','\'',$(GIT_USER_AGENT_CQ ) )
1927+ BASIC_CFLAGS += -DGIT_USER_AGENT='$(GIT_USER_AGENT_CQ_SQ ) '
1928+
19181929ALL_CFLAGS += $(BASIC_CFLAGS )
19191930ALL_LDFLAGS += $(BASIC_LDFLAGS )
19201931
@@ -1962,7 +1973,7 @@ strip: $(PROGRAMS) git$X
19621973 $(STRIP ) $(STRIP_OPTS ) $(PROGRAMS ) git$X
19631974
19641975git.o : common-cmds.h
1965- git.sp git.s git.o : EXTRA_CPPFLAGS = -DGIT_VERSION='" $( GIT_VERSION ) "' \
1976+ git.sp git.s git.o : EXTRA_CPPFLAGS = \
19661977 ' -DGIT_HTML_PATH="$(htmldir_SQ)"' \
19671978 ' -DGIT_MAN_PATH="$(mandir_SQ)"' \
19681979 ' -DGIT_INFO_PATH="$(infodir_SQ)"'
@@ -1979,6 +1990,9 @@ builtin/help.sp builtin/help.s builtin/help.o: EXTRA_CPPFLAGS = \
19791990 ' -DGIT_MAN_PATH="$(mandir_SQ)"' \
19801991 ' -DGIT_INFO_PATH="$(infodir_SQ)"'
19811992
1993+ version.sp version.s version.o : EXTRA_CPPFLAGS = \
1994+ ' -DGIT_VERSION="$(GIT_VERSION)"'
1995+
19821996$(BUILT_INS ) : git$X
19831997 $(QUIET_BUILT_IN )$(RM ) $@ && \
19841998 ln git$X $@ 2> /dev/null || \
@@ -1996,6 +2010,7 @@ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
19962010 -e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \
19972011 -e 's|@@DIFF@@|$(DIFF_SQ)|' \
19982012 -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
2013+ -e 's|@@GIT_USER_AGENT@@|$(GIT_USER_AGENT_SQ)|g' \
19992014 -e 's|@@LOCALEDIR@@|$(localedir_SQ)|g' \
20002015 -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
20012016 -e 's/@@USE_GETTEXT_SCHEME@@/$(USE_GETTEXT_SCHEME)/g' \
@@ -2089,7 +2104,7 @@ configure: configure.ac
20892104 $(RM ) $< +
20902105
20912106# These can record GIT_VERSION
2092- git .o git.spec http.o \
2107+ version .o git.spec \
20932108 $(patsubst %.sh,%,$(SCRIPT_SH)) \
20942109 $(patsubst %.perl,%,$(SCRIPT_PERL)) \
20952110 : GIT-VERSION-FILE
@@ -2259,9 +2274,6 @@ attr.sp attr.s attr.o: EXTRA_CPPFLAGS = \
22592274gettext.sp gettext.s gettext.o : EXTRA_CPPFLAGS = \
22602275 -DGIT_LOCALE_PATH=' "$(localedir_SQ)"'
22612276
2262- http.sp http.s http.o : EXTRA_CPPFLAGS = \
2263- -DGIT_HTTP_USER_AGENT=' "git/$(GIT_VERSION)"'
2264-
22652277ifdef NO_EXPAT
22662278http-walker.sp http-walker.s http-walker.o : EXTRA_CPPFLAGS = -DNO_EXPAT
22672279endif
0 commit comments