All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sibi Siddharthan <sibisiddharthan.github@gmail.com>
To: Danh Doan <congdanhqx@gmail.com>
Cc: Sibi Siddharthan via GitGitGadget <gitgitgadget@gmail.com>,
	git@vger.kernel.org
Subject: Re: [PATCH 1/8] Introduce CMake support for configuring Git on Linux
Date: Sat, 25 Apr 2020 09:20:36 +0530	[thread overview]
Message-ID: <CAKiG+9VZcyjGQLHzT2S70mptKNhHLpwZ9Sd1rto32cN6a-7f_w@mail.gmail.com> (raw)
In-Reply-To: <20200424225621.GD721@danh.dev>

On Sat, Apr 25, 2020 at 4:26 AM Danh Doan <congdanhqx@gmail.com> wrote:
>
> On 2020-04-25 02:36:12+0530, Sibi Siddharthan <sibisiddharthan.github@gmail.com> wrote:
> > Yes it does,
> > all you have to do is -DZLIB_ROOT=/path/to/zlib/root
>
> OK, I need to learn this syntax
>
> > > > +find_package(EXPAT)
> > > > +find_package(Iconv)
> > > > +find_package(Intl)
> > > > +
> > >
> > > > +if(NOT Intl_FOUND)
> > > > +     add_compile_definitions(NO_GETTEXT)
> > >
> > > find_package(Gettext)?
> > >
> >
> > find_package(Gettext) does not define libintl and libintl.h.
> > If NO_GETTEXT is not defined, it means that libintl.h is present.
> > So, we use find_package(Intl) for libintl
>
> People do weird things.
>
> But, I bet that a lot of people have system that have libintl.h
> installed, but they don't install gettext tools. ;-)
>
> Anyway, can I override NO_GETTEXT from command line?
>
> Let's say, I want to bootstrap a new distro?
> In the boostrap step, I don't want to build any i18n things,
> because the bootstrap package will be thrown away and rebuild again.
> I don't want to waste time on building such translation things.
>

So, you are trying to build two times and configuring it only once. Am I right?
If so I don't think you bootstrap with CMake. Will let you know if I
figure something out.

> >
> > > > +     if(NOT Iconv_FOUND)
> > > > +             add_compile_definitions(NO_ICONV)
> > > > +     endif()
> > > > +endif()
> > >
> > > ICONV_OMITS_BOM?
> > >
> >
> > Forgot about this, will add it.
>
> Thanks, my platform relies on this definition!
>
> > > > +
> > > > +include_directories(SYSTEM ${ZLIB_INCLUDE_DIRS})
> > > > +if(CURL_FOUND)
> > > > +     include_directories(SYSTEM ${CURL_INCLUDE_DIRS})
> > > > +endif()
> > > > +if(EXPAT_FOUND)
> > > > +     include_directories(SYSTEM ${EXPAT_INCLUDE_DIRS})
> > > > +endif()
> > > > +if(Iconv_FOUND)
> > > > +     include_directories(SYSTEM ${Iconv_INCLUDE_DIRS})
> > > > +endif()
> > > > +if(Intl_FOUND)
> > > > +     include_directories(SYSTEM ${Intl_INCLUDE_DIRS})
> > > > +endif()
> > > > +
> > > > +find_program(SH_EXE sh)
> > >
> > > We want to find usable sh, not just sh, no?
> > >
> > > It's matter on Solaris, HP-UX
> > >
> >
> > How do I check for this, can you help?
>
> Sorry, Please ask someone else, check Makefile to see who fixed build
> for Solaris and HP-UX.
>
> > Also, the script is not supported on Solaris and HP-UX.
>
> If Solaris or HP-UX is out of equation,
> I'll just write: SH_EXE=/bin/sh ;-)
>
>

This is exactly what the current definition does.

> >
> > > > +
> > > > +#default behaviour
> > > > +include_directories(${CMAKE_SOURCE_DIR})
> > > > +add_compile_definitions(GIT_HOST_CPU="${CMAKE_SYSTEM_PROCESSOR}")
> > > > +add_compile_definitions(SHA256_BLK INTERNAL_QSORT RUNTIME_PREFIX)
> > > > +add_compile_definitions(NO_OPENSSL SHA1_DC SHA1DC_NO_STANDARD_INCLUDES
> > > > +                     SHA1DC_INIT_SAFE_HASH_DEFAULT=0
> > > > +                     SHA1DC_CUSTOM_INCLUDE_SHA1_C="cache.h"
> > > > +                     SHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="git-compat-util.h" )
> > > > +list(APPEND compat_SOURCES sha1dc_git.c sha1dc/sha1.c sha1dc/ubc_check.c block-sha1/sha1.c sha256/block/sha256.c compat/qsort_s.c)
> > > > +
> > > > +
> > > > +add_compile_definitions(PAGER_ENV="LESS=FRX LV=-c"
> > > > +                     ETC_GITATTRIBUTES="etc/gitattributes"
> > > > +                     ETC_GITCONFIG="etc/gitconfig"
> > > > +                     GIT_EXEC_PATH="libexec/git-core"
> > > > +                     GIT_LOCALE_PATH="share/locale"
> > > > +                     GIT_MAN_PATH="share/man"
> > > > +                     GIT_INFO_PATH="share/info"
> > > > +                     GIT_HTML_PATH="share/doc/git-doc"
> > > > +                     DEFAULT_HELP_FORMAT="html"
> > > > +                     DEFAULT_GIT_TEMPLATE_DIR="share/git-core/templates"
> > > > +                     GIT_VERSION="${PROJECT_VERSION}.GIT"
> > > > +                     GIT_USER_AGENT="git/${PROJECT_VERSION}.GIT"
> > > > +                     BINDIR="bin"
> > > > +                     GIT_BUILT_FROM_COMMIT="")
> > >
> > > I wish I could verify this.
> > > Have you check this part on a default build system for a Linux distro,
> > > FreeBSD? For things started with "etc/"
> > >
> >
> > These are the values I got when I looked at the build logs from the
> > Makefile (make -n) in Linux and Windows.
> > Don't know about FreeBSD
>
> Linux will install configuration to /etc, Windows (by using msys),
> will also do that.
>
> *BSD port installs git with /usr/local prefix, and install
> configuration to /usr/local/etc
>

Aren't the above definitions relative paths?(With RUNTIME_PREFIX)
Once you decide to install, you have INSTALL_PREFIX(similar to
DESTDIR) with which you
can achieve the above.

> >
> > > > +
> > > > +set(FALLBACK_RUNTIME_PREFIX /home/$ENV{USER})
> > > > +add_compile_definitions(FALLBACK_RUNTIME_PREFIX="${FALLBACK_RUNTIME_PREFIX}")
> > > > +
> > > > +add_compile_definitions(PROCFS_EXECUTABLE_PATH="/proc/self/exe" HAVE_DEV_TTY )
> > >
> > > /proc/self/exe is Linux only, no?
> > >
> >
> > Yes, it is. This first patch only supports Linux build.
> >
> > > > +list(APPEND compat_SOURCES unix-socket.c)
> > > > +
> > > > +#header checks
> > > > +check_include_file(libgen.h HAVE_LIBGEN_H)
> > > > +if(NOT HAVE_LIBGEN_H)
> > > > +     add_compile_definitions(NO_LIBGEN_H)
> > > > +     list(APPEND compat_SOURCES compat/basename.c)
> > > > +endif()
> > > > +
> > > > +check_include_file(sys/sysinfo.h HAVE_SYSINFO)
> > > > +if(HAVE_SYSINFO)
> > > > +     add_compile_definitions(HAVE_SYSINFO)
> > > > +endif()
> > > > +
> > > > +check_c_source_compiles("
> > > > +#include <alloca.h>
> > > > +int
> > > > +main ()
> > > > +{
> > > > +char *p = (char *) alloca (2 * sizeof (int));
> > > > +     if (p) return 0;
> > > > +     return 0;
> > >
> > > All code path will return 0?
> > >
> >
> > This check is for a working alloca.h.
> > Some systems define alloca in malloc.h (Windows)
>
> Does CMake have a macro for check function in which include files?
>

The check functions is something that was used to match the automake behaviour.
If you want to check whether a function exists in a particulae header
file use check_symbol_exists().

> >
> > > > +}"
> > > > +HAVE_ALLOCA_H)
> > > > +if(HAVE_ALLOCA_H)
> > > > +     add_compile_definitions(HAVE_ALLOCA_H)
> > > > +endif()
> > > > +
> > > > +
> > > > +if(CURL_FOUND)
> > > > +     set(remote_exes
> > > > +             git-remote-https git-remote-ftp git-remote-ftps)
> > > > +     foreach(s ${remote_exes})
> > > > +             file(APPEND ${CMAKE_BINARY_DIR}/CreateLinks.cmake "file(CREATE_LINK git-remote-http ${s})\n")
>
> Now, I looked at this again.
> I didn't see the creatation of CreateLinks.cmake anywhere!
>
> > > > +             list(APPEND git_http_links ${CMAKE_BINARY_DIR}/${s})
> > > > +     endforeach()
> > > > +endif()
> > > > +
> > > > +add_custom_command(OUTPUT ${git_links} ${git_http_links}
> > > > +             COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/CreateLinks.cmake
> > > > +             DEPENDS git git-remote-http)
> > > > +add_custom_target(git-links ALL DEPENDS ${git_links} ${git_http_links})
> > > > \ No newline at end of file
> > >
> > > No new line at end of line always leave a bad taste in my mount!
> > >
>
> --
> Danh

Thank You,
Sibi Siddharthan

  reply	other threads:[~2020-04-25  3:50 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-24  4:01 [PATCH 0/8] CMake build system for git Sibi Siddharthan via GitGitGadget
2020-04-24  4:01 ` [PATCH 1/8] Introduce CMake support for configuring Git on Linux Sibi Siddharthan via GitGitGadget
2020-04-24 17:05   ` Danh Doan
2020-04-24 21:06     ` Sibi Siddharthan
2020-04-24 22:56       ` Danh Doan
2020-04-25  3:50         ` Sibi Siddharthan [this message]
2020-04-25 13:34     ` Johannes Schindelin
2020-04-25 17:07   ` brian m. carlson
2020-04-25 17:36     ` Randall S. Becker
2020-04-25 18:01       ` Philip Oakley
2020-04-25 18:11     ` Sibi Siddharthan
2020-04-24  4:01 ` [PATCH 2/8] cmake: generate the shell/perl/python scripts and templates, translations Sibi Siddharthan via GitGitGadget
2020-04-24 17:19   ` Danh Doan
2020-04-24 21:19     ` Sibi Siddharthan
2020-04-24  4:01 ` [PATCH 3/8] cmake: installation support for git Sibi Siddharthan via GitGitGadget
2020-04-24 17:23   ` Danh Doan
2020-04-24 21:24     ` Sibi Siddharthan
2020-04-24  4:01 ` [PATCH 4/8] cmake: support for testing git with ctest Sibi Siddharthan via GitGitGadget
2020-04-24 17:28   ` Danh Doan
2020-04-24 21:26     ` Sibi Siddharthan
2020-04-24  4:01 ` [PATCH 5/8] cmake: support for testing git when building out of the source tree Sibi Siddharthan via GitGitGadget
2020-04-24 17:34   ` Danh Doan
2020-04-24 21:32     ` Sibi Siddharthan
2020-04-24 23:09       ` Danh Doan
2020-04-25  3:57         ` Sibi Siddharthan
2020-04-24  4:01 ` [PATCH 6/8] cmake: support for building git on windows with mingw Sibi Siddharthan via GitGitGadget
2020-04-24 17:39   ` Philip Oakley
2020-04-24 20:29     ` Sibi Siddharthan
2020-04-25 11:37       ` Philip Oakley
2020-04-25 12:09         ` Sibi Siddharthan
2020-04-24  4:01 ` [PATCH 7/8] cmake: support for building git on windows with msvc and clang Sibi Siddharthan via GitGitGadget
2020-04-24 17:39   ` Danh Doan
2020-04-24 21:35     ` Sibi Siddharthan
2020-04-24  4:01 ` [PATCH 8/8] ci: modification of main.yml to use cmake for vs-build job Sibi Siddharthan via GitGitGadget
2020-04-24 17:45   ` Danh Doan
2020-04-24 21:41     ` Sibi Siddharthan
2020-04-24 21:44     ` Johannes Schindelin
2020-04-24 18:56 ` [PATCH 0/8] CMake build system for git Junio C Hamano
2020-04-24 19:50   ` Sibi Siddharthan
2020-04-24 21:43     ` Junio C Hamano
2020-04-25  4:09       ` Sibi Siddharthan
2020-04-25 12:56         ` Philip Oakley
2020-04-25 13:29           ` Johannes Schindelin
2020-04-25 14:12             ` Sibi Siddharthan
2020-04-25 14:28               ` Johannes Schindelin
2020-04-25 14:38                 ` Sibi Siddharthan
2020-04-25 14:49                   ` Johannes Schindelin
2020-04-25 14:57                     ` Sibi Siddharthan
2020-04-26  0:41                       ` Danh Doan
2020-04-26  4:30                         ` Sibi Siddharthan
2020-04-25 12:24       ` Johannes Schindelin
2020-04-27 20:08         ` Jeff King
2020-04-27 20:12           ` Jeff King
2020-04-28 13:52             ` Danh Doan
2020-04-28 21:07               ` Jeff King
2020-04-29  8:42                 ` Sibi Siddharthan
2020-05-01 19:32                   ` Johannes Schindelin
2020-05-02 14:31                     ` Sibi Siddharthan
2020-05-02 14:58                       ` Randall S. Becker
2020-05-02 15:48                       ` Junio C Hamano
2020-05-03 15:33                         ` Sibi Siddharthan
2020-05-03 17:21                           ` Junio C Hamano
2020-05-03 19:42                             ` Konstantin Tokarev
2020-05-03 19:50                               ` Junio C Hamano
2020-05-04 14:31                               ` Johannes Schindelin
2020-05-04 21:59                                 ` Konstantin Tokarev
2020-05-05  4:16                                   ` Sibi Siddharthan
2020-05-05  6:16                                     ` Junio C Hamano
2020-05-05 16:23                                       ` Sibi Siddharthan
2020-05-05 18:17                                         ` Junio C Hamano
2020-05-06 18:43                                           ` Sibi Siddharthan
2020-05-07 11:48                                             ` Đoàn Trần Công Danh
2020-05-06 21:27                                         ` Johannes Schindelin
2020-05-07 20:54                                   ` Johannes Schindelin
2020-05-02 13:21                   ` Danh Doan
2020-05-02 14:50                     ` Sibi Siddharthan
2020-05-02 15:02                       ` Danh Doan
2020-05-02 15:16                         ` Sibi Siddharthan
2020-04-27 21:17           ` Junio C Hamano
2020-04-27 21:56             ` Michal Suchánek
2020-04-27 22:09             ` Jeff King
2020-04-27 22:23               ` Elijah Newren
2020-04-27 23:16                 ` Junio C Hamano
2020-04-28  5:36                 ` Jeff King
2020-05-12 16:50 ` [PATCH v2 00/11] " Sibi Siddharthan via GitGitGadget
2020-05-12 16:50   ` [PATCH v2 01/11] Introduce CMake support for configuring Git on Linux Sibi Siddharthan via GitGitGadget
2020-05-12 20:59     ` Junio C Hamano
2020-05-13 20:21       ` Sibi Siddharthan
2020-05-12 16:50   ` [PATCH v2 02/11] cmake: generate the shell/perl/python scripts and templates, translations Sibi Siddharthan via GitGitGadget
2020-05-12 21:19     ` Junio C Hamano
2020-05-13 20:07       ` Sibi Siddharthan
2020-05-12 16:50   ` [PATCH v2 03/11] cmake: installation support for git Sibi Siddharthan via GitGitGadget
2020-05-12 16:50   ` [PATCH v2 04/11] cmake: support for testing git with ctest Sibi Siddharthan via GitGitGadget
2020-05-12 16:50   ` [PATCH v2 05/11] cmake: support for testing git when building out of the source tree Sibi Siddharthan via GitGitGadget
2020-05-12 16:50   ` [PATCH v2 06/11] cmake: support for building git on windows with mingw Sibi Siddharthan via GitGitGadget
2020-05-14 15:25     ` Đoàn Trần Công Danh
2020-05-14 18:27       ` Sibi Siddharthan
2020-05-12 16:50   ` [PATCH v2 07/11] cmake: support for building git on windows with msvc and clang Sibi Siddharthan via GitGitGadget
2020-05-12 16:50   ` [PATCH v2 08/11] cmake: added checks for struct stat and libiconv Sibi Siddharthan via GitGitGadget
2020-05-12 21:16     ` Junio C Hamano
2020-05-13 20:05       ` Sibi Siddharthan
2020-05-14  2:00         ` Junio C Hamano
2020-05-14 15:31     ` Đoàn Trần Công Danh
2020-05-14 18:31       ` Sibi Siddharthan
2020-05-12 16:50   ` [PATCH v2 09/11] cmake: relocated script file contrib/buildsystems Sibi Siddharthan via GitGitGadget
2020-05-12 21:09     ` Junio C Hamano
2020-05-13 20:08       ` Sibi Siddharthan
2020-05-12 16:50   ` [PATCH v2 10/11] cmake: parse the makefile for the sources Sibi Siddharthan via GitGitGadget
2020-05-12 21:03     ` Junio C Hamano
2020-05-13 19:57       ` Sibi Siddharthan
2020-05-13 20:23         ` Junio C Hamano
2020-05-12 16:50   ` [PATCH v2 11/11] ci: modification of main.yml to use cmake for vs-build job Sibi Siddharthan via GitGitGadget
2020-05-12 21:27     ` Junio C Hamano
2020-05-13 19:45       ` Sibi Siddharthan
2020-05-25 19:16         ` Sibi Siddharthan
2020-05-25 20:03           ` Junio C Hamano
2020-05-25 20:56             ` Sibi Siddharthan
2020-05-25 21:40               ` Johannes Schindelin
2020-05-29 13:40   ` [PATCH v3 0/8] CMake build system for git Sibi Siddharthan via GitGitGadget
2020-05-29 13:40     ` [PATCH v3 1/8] Introduce CMake support for configuring Git Sibi Siddharthan via GitGitGadget
2020-05-29 19:27       ` Junio C Hamano
2020-05-30 18:50         ` Sibi Siddharthan
2020-05-31 16:17           ` Junio C Hamano
2020-05-30  8:00             ` Johannes Schindelin
2020-05-30 13:17       ` Đoàn Trần Công Danh
2020-05-29 13:40     ` [PATCH v3 2/8] cmake: generate the shell/perl/python scripts and templates, translations Sibi Siddharthan via GitGitGadget
2020-05-29 19:27       ` Junio C Hamano
2020-05-30 18:56         ` Sibi Siddharthan
2020-06-08 20:07           ` Sibi Siddharthan
2020-06-08 22:10             ` Junio C Hamano
2020-05-29 13:40     ` [PATCH v3 3/8] cmake: installation support for git Sibi Siddharthan via GitGitGadget
2020-05-29 13:40     ` [PATCH v3 4/8] cmake: support for testing git with ctest Sibi Siddharthan via GitGitGadget
2020-05-30 13:49       ` Đoàn Trần Công Danh
2020-05-30 19:04         ` Sibi Siddharthan
2020-05-31  1:28           ` Đoàn Trần Công Danh
2020-05-29 13:40     ` [PATCH v3 5/8] cmake: support for testing git when building out of the source tree Sibi Siddharthan via GitGitGadget
2020-05-29 13:40     ` [PATCH v3 6/8] cmake: support for building git on windows with mingw Sibi Siddharthan via GitGitGadget
2020-05-29 13:40     ` [PATCH v3 7/8] cmake: support for building git on windows with msvc and clang Sibi Siddharthan via GitGitGadget
2020-05-30 14:08       ` Đoàn Trần Công Danh
2020-05-30 19:08         ` Sibi Siddharthan
2020-05-29 13:40     ` [PATCH v3 8/8] ci: modification of main.yml to use cmake for vs-build job Sibi Siddharthan via GitGitGadget
2020-05-30 14:14       ` Đoàn Trần Công Danh
2020-05-30 19:13         ` Sibi Siddharthan
2020-06-12 18:29     ` [PATCH v4 0/8] CMake build system for git Sibi Siddharthan via GitGitGadget
2020-06-12 18:29       ` [PATCH v4 1/8] Introduce CMake support for configuring Git Sibi Siddharthan via GitGitGadget
2020-06-15 14:00         ` Øystein Walle
2020-06-15 20:04           ` Sibi Siddharthan
2020-06-12 18:29       ` [PATCH v4 2/8] cmake: generate the shell/perl/python scripts and templates, translations Sibi Siddharthan via GitGitGadget
2020-06-12 18:29       ` [PATCH v4 3/8] cmake: installation support for git Sibi Siddharthan via GitGitGadget
2020-06-12 18:29       ` [PATCH v4 4/8] cmake: support for testing git with ctest Sibi Siddharthan via GitGitGadget
2020-06-15 14:02         ` Øystein Walle
2020-06-15 19:45           ` Sibi Siddharthan
2020-06-12 18:29       ` [PATCH v4 5/8] cmake: support for testing git when building out of the source tree Sibi Siddharthan via GitGitGadget
2020-06-12 18:29       ` [PATCH v4 6/8] cmake: support for building git on windows with mingw Sibi Siddharthan via GitGitGadget
2020-06-15 14:03         ` Øystein Walle
2020-06-15 19:47           ` Sibi Siddharthan
2020-06-18  4:43             ` Junio C Hamano
2020-06-18 19:55               ` Sibi Siddharthan
2020-06-18 20:08                 ` Junio C Hamano
2020-06-18 20:40                   ` Sibi Siddharthan
2020-06-18 21:00                     ` Junio C Hamano
2020-06-19 17:15                       ` Sibi Siddharthan
2020-06-19 17:29                         ` Junio C Hamano
2020-06-12 18:29       ` [PATCH v4 7/8] cmake: support for building git on windows with msvc and clang Sibi Siddharthan via GitGitGadget
2020-06-15 14:04         ` Øystein Walle
2020-06-15 19:56           ` Sibi Siddharthan
2020-06-12 18:29       ` [PATCH v4 8/8] ci: modification of main.yml to use cmake for vs-build job Sibi Siddharthan via GitGitGadget
2020-06-26 16:11       ` [PATCH v5 0/8] CMake build system for git Sibi Siddharthan via GitGitGadget
2020-06-26 16:11         ` [PATCH v5 1/8] Introduce CMake support for configuring Git Sibi Siddharthan via GitGitGadget
2020-06-26 16:11         ` [PATCH v5 2/8] cmake: generate the shell/perl/python scripts and templates, translations Sibi Siddharthan via GitGitGadget
2020-06-26 16:11         ` [PATCH v5 3/8] cmake: installation support for git Sibi Siddharthan via GitGitGadget
2020-06-26 16:11         ` [PATCH v5 4/8] cmake: support for testing git with ctest Sibi Siddharthan via GitGitGadget
2020-06-26 16:11         ` [PATCH v5 5/8] cmake: support for testing git when building out of the source tree Sibi Siddharthan via GitGitGadget
2020-06-26 16:11         ` [PATCH v5 6/8] cmake: support for building git on windows with mingw Sibi Siddharthan via GitGitGadget
2020-06-30  7:25           ` David Aguilar
2020-07-01 17:45             ` Sibi Siddharthan
2020-07-01 17:49               ` Sibi Siddharthan
2020-06-26 16:11         ` [PATCH v5 7/8] cmake: support for building git on windows with msvc and clang Sibi Siddharthan via GitGitGadget
2020-06-26 16:11         ` [PATCH v5 8/8] ci: modification of main.yml to use cmake for vs-build job Sibi Siddharthan via GitGitGadget

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=CAKiG+9VZcyjGQLHzT2S70mptKNhHLpwZ9Sd1rto32cN6a-7f_w@mail.gmail.com \
    --to=sibisiddharthan.github@gmail.com \
    --cc=congdanhqx@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.