{"thread":{"id":"58234","subject":"[PATCH] mingw: include the Python parts in the build","startedAt":"2022-07-28T14:01:55Z","lastAt":"2022-08-10T09:33:27Z","messageCount":12,"participants":["Johannes Schindelin via GitGitGadget","Junio C Hamano","Johannes Schindelin","Johannes Sixt"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"460070","messageId":"pull.1306.git.1659016906707.gitgitgadget@gmail.com","threadId":"58234","inReplyTo":null,"subject":"[PATCH] mingw: include the Python parts in the build","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2022-07-28T14:01:46Z","receivedAt":"2022-07-28T14:01:55Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nWhile Git for Windows does not _ship_ Python (in order to save on\nbandwidth), MSYS2 provides very fine Python interpreters that users can\neasily take advantage of, by using Git for Windows within its SDK.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n    mingw: include the Python parts in the build\n    \n    I've actually had this patch in Git for Windows ever since February\n    2015.\n\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1306%2Fdscho%2Fmsys2-python-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1306/dscho/msys2-python-v1\nPull-Request: https://github.com/gitgitgadget/git/pull/1306\n\n config.mak.uname | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex ce83cad47a2..7fc924d0364 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -722,6 +722,7 @@ else\n \t\tUSE_LIBPCRE = YesPlease\n \t\tNO_CURL =\n \t\tUSE_NED_ALLOCATOR = YesPlease\n+\t\tNO_PYTHON =\n \t\tifeq (/mingw64,$(subst 32,64,$(prefix)))\n \t\t\t# Move system config into top-level /etc/\n \t\t\tETC_GITCONFIG = ../etc/gitconfig\n\nbase-commit: 23b219f8e3f2adfb0441e135f0a880e6124f766c\n-- \ngitgitgadget\n"},{"id":"460132","messageId":"xmqqczdpcfhx.fsf@gitster.g","threadId":"58234","inReplyTo":"pull.1306.git.1659016906707.gitgitgadget@gmail.com","subject":"Re: [PATCH] mingw: include the Python parts in the build","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-07-28T17:29:46Z","receivedAt":"2022-07-28T17:29:52Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Johannes Schindelin via GitGitGadget\" <gitgitgadget@gmail.com>\nwrites:\n\n> From: Johannes Schindelin <johannes.schindelin@gmx.de>\n>\n> While Git for Windows does not _ship_ Python (in order to save on\n> bandwidth), MSYS2 provides very fine Python interpreters that users can\n> easily take advantage of, by using Git for Windows within its SDK.\n\nIt may be an accurate description of the world and there may not be\nanything incorrect in the above statement, but it took quite an\neffort to try matching that statement to what the patch does.\n\nI think\n\n    Builds on $uname_S==MINGW by default sets NO_PYTHON=YesPlease\n    and it benefits Git for Windows by allowing to omit Python.\n    However, when \"Git for Windows\" is used within MSYS2's SDK, we\n    can allow users to take advantage of Python interpreter that\n    comes with it.  Override NO_PYTHON when the presence of\n    ../THIS_IS_MSYSGIT indicates that we are in that situation.\n\nis how the logic in this patch can be explained, but I have to\nwonder if a more natural and easier-to-understand solution is to\nmove NO_PYTHON=YesPlease into \"if we do not have ../THIS_IS_MSYSGIT,\ndo these things\" ifneq() block, like the attached patch.\n\nI didn't touch it but NO_GETTEXT does not appear in the common\nsection above \"do we have ../THIS_IS_MSYSGIT?\", and gets set \nafter \"we do not have ../THIS_IS_MSYSGIT\", so I do not think\nwe need \"NO_GETTEXT = \" that clears it in the \"we do have\n../THIS_IS_MSYSGIT\" part.  We may want to see if there are other\nthings that needs cleaning up around this area.\n\n config.mak.uname | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git i/config.mak.uname w/config.mak.uname\nindex ce83cad47a..999a7ae270 100644\n--- i/config.mak.uname\n+++ w/config.mak.uname\n@@ -656,7 +656,6 @@ ifeq ($(uname_S),MINGW)\n \tUNRELIABLE_FSTAT = UnfortunatelyYes\n \tOBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo\n \tNO_REGEX = YesPlease\n-\tNO_PYTHON = YesPlease\n \tETAGS_TARGET = ETAGS\n \tNO_POSIX_GOODIES = UnfortunatelyYes\n \tDEFAULT_HELP_FORMAT = html\n@@ -686,6 +685,7 @@ ifneq (,$(wildcard ../THIS_IS_MSYSGIT))\n \tINTERNAL_QSORT = YesPlease\n \tHAVE_LIBCHARSET_H = YesPlease\n \tNO_GETTEXT = YesPlease\n+\tNO_PYTHON = YesPlease\n \tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS\n else\n \tifneq ($(shell expr \"$(uname_R)\" : '1\\.'),2)\n"},{"id":"460217","messageId":"0s3o2pr2-o0q3-q394-83n3-n117355o8o29@tzk.qr","threadId":"58234","inReplyTo":"xmqqczdpcfhx.fsf@gitster.g","subject":"Re: [PATCH] mingw: include the Python parts in the build","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2022-07-29T14:29:47Z","receivedAt":"2022-07-29T14:29:57Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Thu, 28 Jul 2022, Junio C Hamano wrote:\n\n> \"Johannes Schindelin via GitGitGadget\" <gitgitgadget@gmail.com>\n> writes:\n>\n> > From: Johannes Schindelin <johannes.schindelin@gmx.de>\n> >\n> > While Git for Windows does not _ship_ Python (in order to save on\n> > bandwidth), MSYS2 provides very fine Python interpreters that users can\n> > easily take advantage of, by using Git for Windows within its SDK.\n>\n> It may be an accurate description of the world and there may not be\n> anything incorrect in the above statement, but it took quite an\n> effort to try matching that statement to what the patch does.\n>\n> I think\n>\n>     Builds on $uname_S==MINGW by default sets NO_PYTHON=YesPlease\n>     and it benefits Git for Windows by allowing to omit Python.\n>     However, when \"Git for Windows\" is used within MSYS2's SDK, we\n>     can allow users to take advantage of Python interpreter that\n>     comes with it.  Override NO_PYTHON when the presence of\n>     ../THIS_IS_MSYSGIT indicates that we are in that situation.\n>\n> is how the logic in this patch can be explained, but I have to\n> wonder if a more natural and easier-to-understand solution is to\n> move NO_PYTHON=YesPlease into \"if we do not have ../THIS_IS_MSYSGIT,\n> do these things\" ifneq() block, like the attached patch.\n\nThe outline is:\n\nifneq (,$(wildcard ../THIS_IS_MSYSGIT))\n\t[...]\nelse\n        ifneq ($(shell expr \"$(uname_R)\" : '1\\.'),2)\n                # MSys2\n\t\t[...]\n\telse\n\t\t[...]\n\tendif\nendif\n\nBy moving it into the `THIS_IS_MSYSGIT` part, you changed the behavior of\nthe MSys part (which is in the `else` block of that `uname_R`\nconditional).\n\nNow, I vaguely remember that j6t said that they switched to MSYS2 some\ntime ago, but all I found on the Git mailing list was\nhttps://lore.kernel.org/git/6c2bbca7-7a8f-d3d8-04b6-31494a3e1b43@kdbg.org/\nwhich says that in 2017, MSys1 was still used by the person who apart from\nmyself did the most crucial work to support Git on Windows (and that\ncounts a lot in my book, so in this instance I am willing to bear a bit\nmore maintenance burden than I otherwise would for a single person, even\nif the Windows-specific part of `config.mak.uname` is quite messy, I\nadmit).\n\nHannes, do you still build with MSys1?\n\n> I didn't touch it but NO_GETTEXT does not appear in the common\n> section above \"do we have ../THIS_IS_MSYSGIT?\", and gets set\n> after \"we do not have ../THIS_IS_MSYSGIT\", so I do not think\n> we need \"NO_GETTEXT = \" that clears it in the \"we do have\n> ../THIS_IS_MSYSGIT\" part.\n\nTrue. This is my mistake: in f9206ce2681 (mingw: let's use gettext with\nMSYS2, 2016-01-26), I should have looked more closely and realized that\n`NO_GETTEXT` is not defined in the MSYS2-specific part of\n`config.mak.uname`, and hence the line should not have changed to\n`NO_GETTEXT =` but it should have been removed instead.\n\nI'll revamp the patch and send another iteration (but please do not expect\nany further work from me this coming week, I plan on staying off of work).\n\nCiao,\nDscho\n\n> We may want to see if there are other things that needs cleaning up\n> around this area.\n>\n>  config.mak.uname | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git i/config.mak.uname w/config.mak.uname\n> index ce83cad47a..999a7ae270 100644\n> --- i/config.mak.uname\n> +++ w/config.mak.uname\n> @@ -656,7 +656,6 @@ ifeq ($(uname_S),MINGW)\n>  \tUNRELIABLE_FSTAT = UnfortunatelyYes\n>  \tOBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo\n>  \tNO_REGEX = YesPlease\n> -\tNO_PYTHON = YesPlease\n>  \tETAGS_TARGET = ETAGS\n>  \tNO_POSIX_GOODIES = UnfortunatelyYes\n>  \tDEFAULT_HELP_FORMAT = html\n> @@ -686,6 +685,7 @@ ifneq (,$(wildcard ../THIS_IS_MSYSGIT))\n>  \tINTERNAL_QSORT = YesPlease\n>  \tHAVE_LIBCHARSET_H = YesPlease\n>  \tNO_GETTEXT = YesPlease\n> +\tNO_PYTHON = YesPlease\n>  \tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS\n>  else\n>  \tifneq ($(shell expr \"$(uname_R)\" : '1\\.'),2)\n>\n"},{"id":"460224","messageId":"pull.1306.v2.git.1659109272.gitgitgadget@gmail.com","threadId":"58234","inReplyTo":"pull.1306.git.1659016906707.gitgitgadget@gmail.com","subject":"[PATCH v2 0/3] mingw: include the Python parts in the build","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2022-07-29T15:41:08Z","receivedAt":"2022-07-29T15:41:31Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"I've actually had a variation of the patch to include th Python bits in Git\nfor Windows's build ever since February 2015.\n\nChanges since v1:\n\n * Instead of setting and then overriding NO_PYTHON, it is now only defined\n   in the relevant parts of the Windows-specific section of\n   config.mak.uname.\n * As Junio pointed out, there is an unneeded empty definition of\n   NO_GETTEXT; Let's remove it.\n * The same holds for NO_CURL: No need to define it to the empty value.\n\nJohannes Schindelin (3):\n  windows: include the Python bits when building Git for Windows\n  mingw: remove unneeded `NO_GETTEXT` directive\n  mingw: remove unneeded `NO_CURL` directive\n\n config.mak.uname | 5 ++---\n 1 file changed, 2 insertions(+), 3 deletions(-)\n\n\nbase-commit: 23b219f8e3f2adfb0441e135f0a880e6124f766c\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-1306%2Fdscho%2Fmsys2-python-v2\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1306/dscho/msys2-python-v2\nPull-Request: https://github.com/gitgitgadget/git/pull/1306\n\nRange-diff vs v1:\n\n -:  ----------- > 1:  5d9b087625a windows: include the Python bits when building Git for Windows\n -:  ----------- > 2:  019fb837d68 mingw: remove unneeded `NO_GETTEXT` directive\n 1:  a5739b9cce8 ! 3:  7dc0a1a9aa8 mingw: include the Python parts in the build\n     @@ Metadata\n      Author: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n      \n       ## Commit message ##\n     -    mingw: include the Python parts in the build\n     +    mingw: remove unneeded `NO_CURL` directive\n      \n     -    While Git for Windows does not _ship_ Python (in order to save on\n     -    bandwidth), MSYS2 provides very fine Python interpreters that users can\n     -    easily take advantage of, by using Git for Windows within its SDK.\n     +    In df5218b4c30 (config.mak.uname: support MSys2, 2016-01-13), we\n     +    introduced support for building Git for Windows in the then-brand new\n     +    Git for Windows v2.x build environment that was based off of MSYS2.\n     +\n     +    To do that, we split the non-msysGit part (that targeted MSys1) in two,\n     +    and instead of sharing the `NO_CURL = YesPlease` setting with MSys1, we\n     +    overrode it for MSYS2 with the empty value because we very much want to\n     +    build Git for Windows with libcurl.\n     +\n     +    But that was unnecessary: we never set that variable beforehand,\n     +    therefore there is no need to override it.\n     +\n     +    Let's just remove that unnecessary line.\n      \n          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n      \n       ## config.mak.uname ##\n      @@ config.mak.uname: else\n     + \t\tHAVE_LIBCHARSET_H = YesPlease\n     + \t\tUSE_GETTEXT_SCHEME = fallthrough\n       \t\tUSE_LIBPCRE = YesPlease\n     - \t\tNO_CURL =\n     +-\t\tNO_CURL =\n       \t\tUSE_NED_ALLOCATOR = YesPlease\n     -+\t\tNO_PYTHON =\n       \t\tifeq (/mingw64,$(subst 32,64,$(prefix)))\n       \t\t\t# Move system config into top-level /etc/\n     - \t\t\tETC_GITCONFIG = ../etc/gitconfig\n\n-- \ngitgitgadget\n"},{"id":"460225","messageId":"5d9b087625a454ad3b505bb968bb72ce3d54140c.1659109272.git.gitgitgadget@gmail.com","threadId":"58234","inReplyTo":"pull.1306.v2.git.1659109272.gitgitgadget@gmail.com","subject":"[PATCH v2 1/3] windows: include the Python bits when building Git for Windows","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2022-07-29T15:41:09Z","receivedAt":"2022-07-29T15:41:33Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nWhile Git for Windows does not _ship_ Python (in order to save on\nbandwidth), MSYS2 provides very fine Python interpreters that users can\neasily take advantage of, by using Git for Windows within its SDK.\n\nPreviously, we excluded the Python bits, mostly due to historical\nreasons: In the Git for Windows v1.x days, we built Git using\nMSys/MinGW, without support for any Python scripts.\n\nTherefore, let's move out the `NO_PYTHON` definition from the generic\npart of the MINGW section (which includes special handling for MSYS2/Git\nfor Windows, for the long-superseded msysGit environment, as well as for\nthe setup of probably just one developer remaining with their MSys1)\ninto the two sections that cover different environments than Git for\nWindows' SDK.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n config.mak.uname | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex ce83cad47a2..fd7b6a90429 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -656,7 +656,6 @@ ifeq ($(uname_S),MINGW)\n \tUNRELIABLE_FSTAT = UnfortunatelyYes\n \tOBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo\n \tNO_REGEX = YesPlease\n-\tNO_PYTHON = YesPlease\n \tETAGS_TARGET = ETAGS\n \tNO_POSIX_GOODIES = UnfortunatelyYes\n \tDEFAULT_HELP_FORMAT = html\n@@ -686,6 +685,7 @@ ifneq (,$(wildcard ../THIS_IS_MSYSGIT))\n \tINTERNAL_QSORT = YesPlease\n \tHAVE_LIBCHARSET_H = YesPlease\n \tNO_GETTEXT = YesPlease\n+\tNO_PYTHON = YesPlease\n \tCOMPAT_CFLAGS += -D__USE_MINGW_ACCESS\n else\n \tifneq ($(shell expr \"$(uname_R)\" : '1\\.'),2)\n@@ -730,6 +730,7 @@ else\n \telse\n \t\tCOMPAT_CFLAGS += -D__USE_MINGW_ANSI_STDIO\n \t\tNO_CURL = YesPlease\n+\t\tNO_PYTHON = YesPlease\n \tendif\n endif\n endif\n-- \ngitgitgadget\n\n"},{"id":"460226","messageId":"019fb837d68fda459ff474f6763572461c7189a6.1659109272.git.gitgitgadget@gmail.com","threadId":"58234","inReplyTo":"pull.1306.v2.git.1659109272.gitgitgadget@gmail.com","subject":"[PATCH v2 2/3] mingw: remove unneeded `NO_GETTEXT` directive","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2022-07-29T15:41:10Z","receivedAt":"2022-07-29T15:41:36Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nIn f9206ce2681 (mingw: let's use gettext with MSYS2, 2016-01-26), we\nflipped the switch to build Git for Windows with support for gettext.\n\nHowever, the way we flipped the switch was by changing the value of the\n`NO_GETTEXT` variable from a non-empty string to the empty string, as if\nthere was any `NO_GETTEXT` definition we needed to override.\n\nBut that was a mistake: while there _is_ a definition, it is in the\n`THIS_IS_MSYSGIT` section, i.e. it does not affect the Git for Windows\npart at all.\n\nLet's just remove that unnecessary line.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n config.mak.uname | 1 -\n 1 file changed, 1 deletion(-)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex fd7b6a90429..e897b80b3a7 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -717,7 +717,6 @@ else\n \t\tINSTALL = /bin/install\n \t\tINTERNAL_QSORT = YesPlease\n \t\tHAVE_LIBCHARSET_H = YesPlease\n-\t\tNO_GETTEXT =\n \t\tUSE_GETTEXT_SCHEME = fallthrough\n \t\tUSE_LIBPCRE = YesPlease\n \t\tNO_CURL =\n-- \ngitgitgadget\n\n"},{"id":"460227","messageId":"7dc0a1a9aa81fcd5c464c48995a61492fb97db1a.1659109272.git.gitgitgadget@gmail.com","threadId":"58234","inReplyTo":"pull.1306.v2.git.1659109272.gitgitgadget@gmail.com","subject":"[PATCH v2 3/3] mingw: remove unneeded `NO_CURL` directive","fromName":"Johannes Schindelin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2022-07-29T15:41:11Z","receivedAt":"2022-07-29T15:41:37Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"From: Johannes Schindelin <johannes.schindelin@gmx.de>\n\nIn df5218b4c30 (config.mak.uname: support MSys2, 2016-01-13), we\nintroduced support for building Git for Windows in the then-brand new\nGit for Windows v2.x build environment that was based off of MSYS2.\n\nTo do that, we split the non-msysGit part (that targeted MSys1) in two,\nand instead of sharing the `NO_CURL = YesPlease` setting with MSys1, we\noverrode it for MSYS2 with the empty value because we very much want to\nbuild Git for Windows with libcurl.\n\nBut that was unnecessary: we never set that variable beforehand,\ntherefore there is no need to override it.\n\nLet's just remove that unnecessary line.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n config.mak.uname | 1 -\n 1 file changed, 1 deletion(-)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex e897b80b3a7..d63629fe807 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -719,7 +719,6 @@ else\n \t\tHAVE_LIBCHARSET_H = YesPlease\n \t\tUSE_GETTEXT_SCHEME = fallthrough\n \t\tUSE_LIBPCRE = YesPlease\n-\t\tNO_CURL =\n \t\tUSE_NED_ALLOCATOR = YesPlease\n \t\tifeq (/mingw64,$(subst 32,64,$(prefix)))\n \t\t\t# Move system config into top-level /etc/\n-- \ngitgitgadget\n"},{"id":"460229","messageId":"rq6919s9-qspp-rn6o-n704-r0400q10747r@tzk.qr","threadId":"58234","inReplyTo":"pull.1306.v2.git.1659109272.gitgitgadget@gmail.com","subject":"Re: [PATCH v2 0/3] mingw: include the Python parts in the build","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2022-07-29T15:56:18Z","receivedAt":"2022-07-29T15:56:24Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 29 Jul 2022, Johannes Schindelin via GitGitGadget wrote:\n\n> Range-diff vs v1:\n>\n>  -:  ----------- > 1:  5d9b087625a windows: include the Python bits when building Git for Windows\n>  -:  ----------- > 2:  019fb837d68 mingw: remove unneeded `NO_GETTEXT` directive\n>  1:  a5739b9cce8 ! 3:  7dc0a1a9aa8 mingw: include the Python parts in the build\n>      @@ Metadata\n>       Author: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n>\n>        ## Commit message ##\n>      -    mingw: include the Python parts in the build\n>      +    mingw: remove unneeded `NO_CURL` directive\n>\n>      -    While Git for Windows does not _ship_ Python (in order to save on\n>      -    bandwidth), MSYS2 provides very fine Python interpreters that users can\n>      -    easily take advantage of, by using Git for Windows within its SDK.\n>      +    In df5218b4c30 (config.mak.uname: support MSys2, 2016-01-13), we\n>      +    introduced support for building Git for Windows in the then-brand new\n>      +    Git for Windows v2.x build environment that was based off of MSYS2.\n>      +\n>      +    To do that, we split the non-msysGit part (that targeted MSys1) in two,\n>      +    and instead of sharing the `NO_CURL = YesPlease` setting with MSys1, we\n>      +    overrode it for MSYS2 with the empty value because we very much want to\n>      +    build Git for Windows with libcurl.\n>      +\n>      +    But that was unnecessary: we never set that variable beforehand,\n>      +    therefore there is no need to override it.\n>      +\n>      +    Let's just remove that unnecessary line.\n>\n>           Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n>\n>        ## config.mak.uname ##\n>       @@ config.mak.uname: else\n>      + \t\tHAVE_LIBCHARSET_H = YesPlease\n>      + \t\tUSE_GETTEXT_SCHEME = fallthrough\n>        \t\tUSE_LIBPCRE = YesPlease\n>      - \t\tNO_CURL =\n>      +-\t\tNO_CURL =\n>        \t\tUSE_NED_ALLOCATOR = YesPlease\n>      -+\t\tNO_PYTHON =\n>        \t\tifeq (/mingw64,$(subst 32,64,$(prefix)))\n>        \t\t\t# Move system config into top-level /etc/\n>      - \t\t\tETC_GITCONFIG = ../etc/gitconfig\n\nOh, that's funny. This is actually the first time I personally see\n`range-diff` matching up a wrong patch pair (because it really looks for\nthe minimal diff between the diffs). It is of course nonsense to match up\nthe original patch with the `NO_CURL` patch.\n\nCiao,\nDscho\n"},{"id":"460234","messageId":"xmqqsfmj7t5o.fsf@gitster.g","threadId":"58234","inReplyTo":"rq6919s9-qspp-rn6o-n704-r0400q10747r@tzk.qr","subject":"Re: [PATCH v2 0/3] mingw: include the Python parts in the build","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-07-29T16:58:11Z","receivedAt":"2022-07-29T16:58:18Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> On Fri, 29 Jul 2022, Johannes Schindelin via GitGitGadget wrote:\n>\n>> Range-diff vs v1:\n>>\n>>  -:  ----------- > 1:  5d9b087625a windows: include the Python bits when building Git for Windows\n>>  -:  ----------- > 2:  019fb837d68 mingw: remove unneeded `NO_GETTEXT` directive\n>>  1:  a5739b9cce8 ! 3:  7dc0a1a9aa8 mingw: include the Python parts in the build\n> ...\n> Oh, that's funny. This is actually the first time I personally see\n> `range-diff` matching up a wrong patch pair (because it really looks for\n> the minimal diff between the diffs). It is of course nonsense to match up\n> the original patch with the `NO_CURL` patch.\n\nIt would depend on the creation-factor number, I suspect.  To me, it\ndoes not seem to match anything at all, but with an unreasonably\nhigh number like 9999, I see 1 corresponds to the old one, with the\nother two follow-up patch as new.\n\nAs the maintainer, I mostly use range-diff to compare two iterations\nof a single topic, and not \"compare 'seen' from 24 hours ago with\n'seen' I just rebuilt, so that I can match up everything in an\nuncontrolled mess\", so the optimum factor number would be different\nfor my usecase from the one used for general use (which is\ndocumented to be 60).\n\nThe \"maintainer\" use case compares two iterations that are known and\nexpected to have corresponding patches (and no corresponding one\nmeans either dropped or added), and come to think of it, the use\ncase for submitter to run \"format-patch --range-diff\" shares exactly\nthe same expectation.  It is very different from \"pick corresponding\npatches from two piles of many unrelated topics\" use case, in which\n\"range-diff\" proper can be used.\n\nPerhaps the default used for \"format-patch\" should become different\nand set a lot higher than the default for \"range-diff\" proper?\n\n"},{"id":"460278","messageId":"c9aec5b6-0a78-a580-3658-5189bd2075a6@kdbg.org","threadId":"58234","inReplyTo":"0s3o2pr2-o0q3-q394-83n3-n117355o8o29@tzk.qr","subject":"Re: [PATCH] mingw: include the Python parts in the build","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2022-07-29T21:31:26Z","receivedAt":"2022-07-29T21:31:35Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 29.07.22 um 16:29 schrieb Johannes Schindelin:\n> Now, I vaguely remember that j6t said that they switched to MSYS2 some\n> time ago, but all I found on the Git mailing list was\n> https://lore.kernel.org/git/6c2bbca7-7a8f-d3d8-04b6-31494a3e1b43@kdbg.org/\n> which says that in 2017, MSys1 was still used by the person who apart from\n> myself did the most crucial work to support Git on Windows (and that\n> counts a lot in my book, so in this instance I am willing to bear a bit\n> more maintenance burden than I otherwise would for a single person, even\n> if the Windows-specific part of `config.mak.uname` is quite messy, I\n> admit).\n> \n> Hannes, do you still build with MSys1?\n\nThank you for keeping me in the loop. No, I have long since switched to\nthe Git for Windows tool set, i.e., MSYS2 + MinGW64. I don't know if\nanybody is still using MSys1 + MinGW. There's likely no reason to keep\nthe MSys1 config section.\n\n-- Hannes\n"},{"id":"460972","messageId":"1587qsq1-3q77-054o-oqr7-24np360oqn21@tzk.qr","threadId":"58234","inReplyTo":"c9aec5b6-0a78-a580-3658-5189bd2075a6@kdbg.org","subject":"Re: [PATCH] mingw: include the Python parts in the build","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2022-08-10T09:29:15Z","receivedAt":"2022-08-10T09:29:27Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Hannes,\n\nOn Fri, 29 Jul 2022, Johannes Sixt wrote:\n\n> Am 29.07.22 um 16:29 schrieb Johannes Schindelin:\n> > Now, I vaguely remember that j6t said that they switched to MSYS2 some\n> > time ago, but all I found on the Git mailing list was\n> > https://lore.kernel.org/git/6c2bbca7-7a8f-d3d8-04b6-31494a3e1b43@kdbg.org/\n> > which says that in 2017, MSys1 was still used by the person who apart from\n> > myself did the most crucial work to support Git on Windows (and that\n> > counts a lot in my book, so in this instance I am willing to bear a bit\n> > more maintenance burden than I otherwise would for a single person, even\n> > if the Windows-specific part of `config.mak.uname` is quite messy, I\n> > admit).\n> >\n> > Hannes, do you still build with MSys1?\n>\n> Thank you for keeping me in the loop. No, I have long since switched to\n> the Git for Windows tool set, i.e., MSYS2 + MinGW64. I don't know if\n> anybody is still using MSys1 + MinGW. There's likely no reason to keep\n> the MSys1 config section.\n\nExcellent. I've added a #leftoverbits ticket here:\nhttps://github.com/gitgitgadget/git/issues/1319\n\nCiao,\nDscho\n"},{"id":"460973","messageId":"344r92pq-s57p-1239-sp05-955s759r54r7@tzk.qr","threadId":"58234","inReplyTo":"xmqqsfmj7t5o.fsf@gitster.g","subject":"Overriding creation factor in format-patch, was Re: [PATCH v2 0/3] mingw: include the Python parts in the build","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2022-08-10T09:33:04Z","receivedAt":"2022-08-10T09:33:27Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Fri, 29 Jul 2022, Junio C Hamano wrote:\n\n> Perhaps the default used for \"format-patch\" should become different\n> and set a lot higher than the default for \"range-diff\" proper?\n\nGood idea.\n\nHowever, this will require careful research about the best value to use.\n\nAn idea would be to use the lore archive to extract patch series\niterations that have been sent to the Git mailing list, then use a\nvariation of https://github.com/dscho/git/tree/range-diff-from-mbox to\ncompare them using `range-diff` with multiple creation factors to\ndetermine the bounds within which the optimal value lies.\n\nSadly a bit too involved a project for me to take on right now.\n\nCiao,\nDscho\n"}]}