From: Junio C Hamano <gitster@pobox•com>
To: Jeff King <peff@peff•net>
Cc: git@vger•kernel.org
Subject: Re: [PATCH 06/13] Makefile: store GIT-* sentinel files in MAKE/
Date: Wed, 05 Feb 2014 11:05:49 -0800 [thread overview]
Message-ID: <xmqqvbwt4bxu.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <20140205175222.GF15218@sigill.intra.peff.net> (Jeff King's message of "Wed, 5 Feb 2014 12:52:22 -0500")
Jeff King <peff@peff•net> writes:
> This patch moves all of the generated GIT-* files into
> MAKE/*, with one exception: GIT-VERSION-FILE. This could be
> moved along with the rest, but there is a reasonable chance
> that there are some out-of-tree scripts that may peek at it
> (whereas things like GIT-CFLAGS are purely internal, and we
> update all internal references).
OK. We do have internal references to include the version file to
Makefiles in subdirectories, which we could adjust if we wanted to.
I tend to agree that leaving it there would be a safer thing to do,
but at the same time I think it is OK to move it if we wanted to.
The third parties need to adjust and they are capable of adjusting.
Thanks. The changes look good. I do not have a strong opinion on
the name, but I do agree a separate directory unclutters things in a
very good way.
> Signed-off-by: Jeff King <peff@peff•net>
> ---
> I'm not married to the name "MAKE", but I do think the separate
> directory is a win for simplicity and avoiding repetition (as you can
> see in the diffstat). Other suggestions welcome.
>
> .gitignore | 8 -------
> MAKE/.gitignore | 1 +
> Makefile | 66 +++++++++++++++++++++++++--------------------------
> perl/Makefile | 10 ++++----
> t/perf/run | 2 +-
> t/test-lib.sh | 2 +-
> t/valgrind/analyze.sh | 4 ++--
> 7 files changed, 42 insertions(+), 51 deletions(-)
> create mode 100644 MAKE/.gitignore
>
> diff --git a/.gitignore b/.gitignore
> index b5f9def..586a067 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -1,11 +1,3 @@
> -/GIT-BUILD-OPTIONS
> -/GIT-CFLAGS
> -/GIT-LDFLAGS
> -/GIT-PREFIX
> -/GIT-PERL-DEFINES
> -/GIT-PYTHON-VARS
> -/GIT-SCRIPT-DEFINES
> -/GIT-USER-AGENT
> /GIT-VERSION-FILE
> /bin-wrappers/
> /git
> diff --git a/MAKE/.gitignore b/MAKE/.gitignore
> new file mode 100644
> index 0000000..72e8ffc
> --- /dev/null
> +++ b/MAKE/.gitignore
> @@ -0,0 +1 @@
> +*
> diff --git a/Makefile b/Makefile
> index 60dc53b..7fecdf1 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1564,10 +1564,10 @@ endif
> # usage: $(eval $(call make-var,FN,DESC,CONTENTS))
> #
> # Create a rule to write $CONTENTS (which should come from a make variable)
> -# to GIT-$FN, but only if not already there. This can be used to create a
> +# to MAKE/$FN, but only if not already there. This can be used to create a
> # dependency on a Makefile variable. Prints $DESC to the user.
> define make-var
> -GIT-$1: FORCE
> +MAKE/$1: FORCE
> @VALUE='$$(subst ','\'',$3)'; \
> if test x"$$$$VALUE" != x"`cat $$@ 2>/dev/null`"; then \
> echo >&2 " * new $2"; \
> @@ -1658,7 +1658,7 @@ all:: profile-clean
> endif
> endif
>
> -all:: $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) $(OTHER_PROGRAMS) GIT-BUILD-OPTIONS
> +all:: $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) $(OTHER_PROGRAMS) MAKE/BUILD-OPTIONS
> ifneq (,$X)
> $(QUIET_BUILT_IN)$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), test -d '$p' -o '$p' -ef '$p$X' || $(RM) '$p';)
> endif
> @@ -1714,25 +1714,25 @@ strip: $(PROGRAMS) git$X
> # dependencies here will not need to change if the force-build
> # details change some day.
>
> -git.sp git.s git.o: GIT-PREFIX
> +git.sp git.s git.o: MAKE/PREFIX
> git.sp git.s git.o: EXTRA_CPPFLAGS = \
> '-DGIT_HTML_PATH="$(htmldir_relative_SQ)"' \
> '-DGIT_MAN_PATH="$(mandir_relative_SQ)"' \
> '-DGIT_INFO_PATH="$(infodir_relative_SQ)"'
>
> -git$X: git.o GIT-LDFLAGS $(BUILTIN_OBJS) $(GITLIBS)
> +git$X: git.o MAKE/LDFLAGS $(BUILTIN_OBJS) $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ git.o \
> $(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)
>
> help.sp help.s help.o: common-cmds.h
>
> -builtin/help.sp builtin/help.s builtin/help.o: common-cmds.h GIT-PREFIX
> +builtin/help.sp builtin/help.s builtin/help.o: common-cmds.h MAKE/PREFIX
> builtin/help.sp builtin/help.s builtin/help.o: EXTRA_CPPFLAGS = \
> '-DGIT_HTML_PATH="$(htmldir_relative_SQ)"' \
> '-DGIT_MAN_PATH="$(mandir_relative_SQ)"' \
> '-DGIT_INFO_PATH="$(infodir_relative_SQ)"'
>
> -version.sp version.s version.o: GIT-VERSION-FILE GIT-USER-AGENT
> +version.sp version.s version.o: GIT-VERSION-FILE MAKE/USER-AGENT
> version.sp version.s version.o: EXTRA_CPPFLAGS = \
> '-DGIT_VERSION="$(GIT_VERSION)"' \
> '-DGIT_USER_AGENT=$(GIT_USER_AGENT_CQ_SQ)'
> @@ -1773,12 +1773,12 @@ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
> $@.sh >$@+
> endef
>
> -$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh GIT-SCRIPT-DEFINES
> +$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh MAKE/SCRIPT-DEFINES
> $(QUIET_GEN)$(cmd_munge_script) && \
> chmod +x $@+ && \
> mv $@+ $@
>
> -$(SCRIPT_LIB) : % : %.sh GIT-SCRIPT-DEFINES
> +$(SCRIPT_LIB) : % : %.sh MAKE/SCRIPT-DEFINES
> $(QUIET_GEN)$(cmd_munge_script) && \
> mv $@+ $@
>
> @@ -1797,14 +1797,14 @@ perl/PM.stamp: FORCE
> { cmp $@+ $@ >/dev/null 2>/dev/null || mv $@+ $@; } && \
> $(RM) $@+
>
> -perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
> +perl/perl.mak: MAKE/CFLAGS MAKE/PREFIX perl/Makefile perl/Makefile.PL
> $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
>
> $(eval $(call make-var,PERL-DEFINES,perl-specific parameters,\
> :$(PERL_PATH)\
> :$(PERLLIB_EXTRA)\
> ))
> -$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE
> +$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl perl/perl.mak MAKE/PERL-DEFINES GIT-VERSION-FILE
> $(QUIET_GEN)$(RM) $@ $@+ && \
> INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
> INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \
> @@ -1826,7 +1826,7 @@ gitweb:
> $(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) all
> all:: gitweb
>
> -git-instaweb: git-instaweb.sh GIT-SCRIPT-DEFINES
> +git-instaweb: git-instaweb.sh MAKE/SCRIPT-DEFINES
> $(QUIET_GEN)$(cmd_munge_script) && \
> chmod +x $@+ && \
> mv $@+ $@
> @@ -1842,7 +1842,7 @@ endif # NO_PERL
>
> ifndef NO_PYTHON
> $(eval $(call make-var,PYTHON-VARS,Python interpreter location,$(PYTHON_PATH)))
> -$(SCRIPT_PYTHON_GEN): GIT-CFLAGS GIT-PREFIX GIT-PYTHON-VARS
> +$(SCRIPT_PYTHON_GEN): MAKE/CFLAGS MAKE/PREFIX MAKE/PYTHON-VARS
> $(SCRIPT_PYTHON_GEN): % : %.py
> $(QUIET_GEN)$(RM) $@ $@+ && \
> sed -e '1s|#!.*python|#!$(PYTHON_PATH_SQ)|' \
> @@ -1984,13 +1984,13 @@ endif
> endif
>
> ifndef CHECK_HEADER_DEPENDENCIES
> -$(C_OBJ): %.o: %.c GIT-CFLAGS $(missing_dep_dirs)
> +$(C_OBJ): %.o: %.c MAKE/CFLAGS $(missing_dep_dirs)
> $(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
> -$(ASM_OBJ): %.o: %.S GIT-CFLAGS $(missing_dep_dirs)
> +$(ASM_OBJ): %.o: %.S MAKE/CFLAGS $(missing_dep_dirs)
> $(QUIET_CC)$(CC) -o $*.o -c $(dep_args) $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
> endif
>
> -%.s: %.c GIT-CFLAGS FORCE
> +%.s: %.c MAKE/CFLAGS FORCE
> $(QUIET_CC)$(CC) -o $@ -S $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) $<
>
> ifdef USE_COMPUTED_HEADER_DEPENDENCIES
> @@ -2011,25 +2011,25 @@ else
> $(OBJECTS): $(LIB_H)
> endif
>
> -exec_cmd.sp exec_cmd.s exec_cmd.o: GIT-PREFIX
> +exec_cmd.sp exec_cmd.s exec_cmd.o: MAKE/PREFIX
> exec_cmd.sp exec_cmd.s exec_cmd.o: EXTRA_CPPFLAGS = \
> '-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
> '-DBINDIR="$(bindir_relative_SQ)"' \
> '-DPREFIX="$(prefix_SQ)"'
>
> -builtin/init-db.sp builtin/init-db.s builtin/init-db.o: GIT-PREFIX
> +builtin/init-db.sp builtin/init-db.s builtin/init-db.o: MAKE/PREFIX
> builtin/init-db.sp builtin/init-db.s builtin/init-db.o: EXTRA_CPPFLAGS = \
> -DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"'
>
> -config.sp config.s config.o: GIT-PREFIX
> +config.sp config.s config.o: MAKE/PREFIX
> config.sp config.s config.o: EXTRA_CPPFLAGS = \
> -DETC_GITCONFIG='"$(ETC_GITCONFIG_SQ)"'
>
> -attr.sp attr.s attr.o: GIT-PREFIX
> +attr.sp attr.s attr.o: MAKE/PREFIX
> attr.sp attr.s attr.o: EXTRA_CPPFLAGS = \
> -DETC_GITATTRIBUTES='"$(ETC_GITATTRIBUTES_SQ)"'
>
> -gettext.sp gettext.s gettext.o: GIT-PREFIX
> +gettext.sp gettext.s gettext.o: MAKE/PREFIX
> gettext.sp gettext.s gettext.o: EXTRA_CPPFLAGS = \
> -DGIT_LOCALE_PATH='"$(localedir_SQ)"'
>
> @@ -2051,21 +2051,21 @@ compat/nedmalloc/nedmalloc.sp compat/nedmalloc/nedmalloc.o: EXTRA_CPPFLAGS = \
> compat/nedmalloc/nedmalloc.sp: SPARSE_FLAGS += -Wno-non-pointer-null
> endif
>
> -git-%$X: %.o GIT-LDFLAGS $(GITLIBS)
> +git-%$X: %.o MAKE/LDFLAGS $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
>
> -git-imap-send$X: imap-send.o GIT-LDFLAGS $(GITLIBS)
> +git-imap-send$X: imap-send.o MAKE/LDFLAGS $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
> $(LIBS) $(OPENSSL_LINK) $(OPENSSL_LIBSSL) $(LIB_4_CRYPTO)
>
> -git-http-fetch$X: http.o http-walker.o http-fetch.o GIT-LDFLAGS $(GITLIBS)
> +git-http-fetch$X: http.o http-walker.o http-fetch.o MAKE/LDFLAGS $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
> $(LIBS) $(CURL_LIBCURL)
> -git-http-push$X: http.o http-push.o GIT-LDFLAGS $(GITLIBS)
> +git-http-push$X: http.o http-push.o MAKE/LDFLAGS $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
> $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
>
> -git-remote-testsvn$X: remote-testsvn.o GIT-LDFLAGS $(GITLIBS) $(VCSSVN_LIB)
> +git-remote-testsvn$X: remote-testsvn.o MAKE/LDFLAGS $(GITLIBS) $(VCSSVN_LIB)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) \
> $(VCSSVN_LIB)
>
> @@ -2075,7 +2075,7 @@ $(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
> ln -s $< $@ 2>/dev/null || \
> cp $< $@
>
> -$(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o GIT-LDFLAGS $(GITLIBS)
> +$(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o MAKE/LDFLAGS $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
> $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
>
> @@ -2172,9 +2172,9 @@ $(eval $(call make-var,CFLAGS,build flags,$(ALL_CFLAGS)))
> $(eval $(call make-var,LDFLAGS,link flags,$(ALL_LDFLAGS)))
>
> # We need to apply sq twice, once to protect from the shell
> -# that runs GIT-BUILD-OPTIONS, and then again to protect it
> +# that runs MAKE/BUILD-OPTIONS, and then again to protect it
> # and the first level quoting from the shell that runs "echo".
> -GIT-BUILD-OPTIONS: FORCE
> +MAKE/BUILD-OPTIONS: FORCE
> @echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@
> @echo PERL_PATH=\''$(subst ','\'',$(PERL_PATH_SQ))'\' >>$@
> @echo DIFF=\''$(subst ','\'',$(subst ','\'',$(DIFF)))'\' >>$@
> @@ -2255,7 +2255,7 @@ test-svn-fe$X: vcs-svn/lib.a
>
> .PRECIOUS: $(TEST_OBJS)
>
> -test-%$X: test-%.o GIT-LDFLAGS $(GITLIBS)
> +test-%$X: test-%.o MAKE/LDFLAGS $(GITLIBS)
> $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(filter %.a,$^) $(LIBS)
>
> check-sha1:: test-sha1$X
> @@ -2263,7 +2263,7 @@ check-sha1:: test-sha1$X
>
> SP_OBJ = $(patsubst %.o,%.sp,$(C_OBJ))
>
> -$(SP_OBJ): %.sp: %.c GIT-CFLAGS FORCE
> +$(SP_OBJ): %.sp: %.c MAKE/CFLAGS FORCE
> $(QUIET_SP)cgcc -no-compile $(ALL_CFLAGS) $(EXTRA_CPPFLAGS) \
> $(SPARSE_FLAGS) $<
>
> @@ -2477,9 +2477,7 @@ ifndef NO_TCLTK
> $(MAKE) -C gitk-git clean
> $(MAKE) -C git-gui clean
> endif
> - $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-BUILD-OPTIONS
> - $(RM) GIT-USER-AGENT GIT-PREFIX
> - $(RM) GIT-SCRIPT-DEFINES GIT-PERL-DEFINES GIT-PYTHON-VARS
> + $(RM) GIT-VERSION-FILE MAKE/*
>
> .PHONY: all install profile-clean clean strip
> .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell
> diff --git a/perl/Makefile b/perl/Makefile
> index 15d96fc..b27420e 100644
> --- a/perl/Makefile
> +++ b/perl/Makefile
> @@ -41,7 +41,7 @@ modules += Git/SVN/Prompt
> modules += Git/SVN/Ra
> modules += Git/SVN/Utils
>
> -$(makfile): ../GIT-CFLAGS Makefile
> +$(makfile): ../MAKE/CFLAGS Makefile
> echo all: private-Error.pm Git.pm Git/I18N.pm > $@
> set -e; \
> for i in $(modules); \
> @@ -79,11 +79,11 @@ $(makfile): ../GIT-CFLAGS Makefile
> echo instlibdir: >> $@
> echo ' echo $(instdir_SQ)' >> $@
> else
> -$(makfile): Makefile.PL ../GIT-CFLAGS
> +$(makfile): Makefile.PL ../MAKE/CFLAGS
> $(PERL_PATH) $< PREFIX='$(prefix_SQ)' INSTALL_BASE='' --localedir='$(localedir_SQ)'
> endif
>
> # this is just added comfort for calling make directly in perl dir
> -# (even though GIT-CFLAGS aren't used yet. If ever)
> -../GIT-CFLAGS:
> - $(MAKE) -C .. GIT-CFLAGS
> +# (even though MAKE/CFLAGS aren't used yet. If ever)
> +../MAKE/CFLAGS:
> + $(MAKE) -C .. MAKE/CFLAGS
> diff --git a/t/perf/run b/t/perf/run
> index cfd7012..489d6cb 100755
> --- a/t/perf/run
> +++ b/t/perf/run
> @@ -73,7 +73,7 @@ GIT_PERF_AGGREGATING_LATER=t
> export GIT_PERF_AGGREGATING_LATER
>
> cd "$(dirname $0)"
> -. ../../GIT-BUILD-OPTIONS
> +. ../../MAKE/BUILD-OPTIONS
>
> if test $# = 0 -o "$1" = -- -o -f "$1"; then
> set -- . "$@"
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index 1531c24..2c1ce73 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -48,7 +48,7 @@ then
> exit 1
> fi
>
> -. "$GIT_BUILD_DIR"/GIT-BUILD-OPTIONS
> +. "$GIT_BUILD_DIR"/MAKE/BUILD-OPTIONS
> export PERL_PATH SHELL_PATH
>
> # if --tee was passed, write the output not only to the terminal, but
> diff --git a/t/valgrind/analyze.sh b/t/valgrind/analyze.sh
> index 2ffc80f..346e0ff 100755
> --- a/t/valgrind/analyze.sh
> +++ b/t/valgrind/analyze.sh
> @@ -1,7 +1,7 @@
> #!/bin/sh
>
> -# Get TEST_OUTPUT_DIRECTORY from GIT-BUILD-OPTIONS if it's there...
> -. "$(dirname "$0")/../../GIT-BUILD-OPTIONS"
> +# Get TEST_OUTPUT_DIRECTORY from MAKE/BUILD-OPTIONS if it's there...
> +. "$(dirname "$0")/../../MAKE/BUILD-OPTIONS"
> # ... otherwise set it to the default value.
> : ${TEST_OUTPUT_DIRECTORY=$(dirname "$0")/..}
next prev parent reply other threads:[~2014-02-05 19:06 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-05 17:48 [PATCH/RFC 0/13] makefile refactoring Jeff King
2014-02-05 17:49 ` [PATCH 01/13] Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS Jeff King
2014-02-05 17:49 ` [PATCH 02/13] Makefile: fix git-instaweb dependency on gitweb Jeff King
2014-02-05 17:50 ` [PATCH 03/13] Makefile: introduce make-var helper function Jeff King
2014-02-06 8:55 ` Eric Sunshine
2014-02-05 17:50 ` [PATCH 04/13] Makefile: use tempfile/mv strategy for GIT-* Jeff King
2014-02-05 17:50 ` [PATCH 05/13] Makefile: prefer printf to echo " Jeff King
2014-02-05 17:52 ` [PATCH 06/13] Makefile: store GIT-* sentinel files in MAKE/ Jeff King
2014-02-05 19:05 ` Junio C Hamano [this message]
2014-02-05 17:53 ` [PATCH 07/13] Makefile: always create files via make-var Jeff King
2014-02-05 17:57 ` [PATCH 08/13] Makefile: introduce sq function for shell-quoting Jeff King
2014-02-05 19:12 ` Junio C Hamano
2014-02-05 17:58 ` [PATCH 09/13] Makefile: add c-quote helper function Jeff King
2014-02-05 19:13 ` Junio C Hamano
2014-02-05 19:17 ` Jeff King
2014-02-05 17:58 ` [PATCH 10/13] Makefile: drop *_SQ variables Jeff King
2014-02-05 19:14 ` Junio C Hamano
2014-02-05 18:02 ` [PATCH 11/13] Makefile: auto-build C strings from make variables Jeff King
2014-02-05 19:17 ` Junio C Hamano
2014-02-05 19:20 ` Jeff King
2014-02-05 18:05 ` [PATCH 12/13] Makefile: teach scripts to include " Jeff King
2014-02-05 19:26 ` Junio C Hamano
2014-02-05 19:50 ` Jeff King
2014-02-08 21:47 ` Thomas Rast
2014-02-10 1:15 ` Jeff King
2014-02-05 18:08 ` [PATCH 13/13] move LESS/LV pager environment to Makefile Jeff King
2014-02-05 19:23 ` Jeff King
2014-02-05 19:52 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqvbwt4bxu.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=peff@peff$(echo .)net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox