git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 00/12] Upstream some more Git for Windows' patches

From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
Date
Aug 12, 2026, 07:52 UTC
Message-ID
<pull.2195.v2.git.1786521173.gitgitgadget@gmail.com>
In-Reply-To
<pull.2195.git.1785939999.gitgitgadget@gmail.com>

When rebasing a Git for Windows commit to enable Rust in Windows CI, I noticed just how many of the preceding commits touching adjacent code haven't been upstreamed yet. This patch series rectifies that.

Changes since v1:
 * Fixed the meson-side handling of the MINGW_PREFIX constant (this was not
   noticed in the Git for Windows project because it does not use Meson to
   build the project).
Johannes Schindelin (12):
  mingw: include the Python parts in the build
  mingw: stop hard-coding `CC = gcc`
  mingw: drop the -D_USE_32BIT_TIME_T option
  mingw: only use -Wl,--large-address-aware for 32-bit builds
  mingw: avoid over-specifying `--pic-executable`
  mingw: set the prefix and HOST_CPU as per MSYS2's settings
  mingw: only enable the MSYS2-specific stuff when compiling in MSYS2
  mingw: rely on MSYS2's metadata instead of hard-coding it
  windows: skip linking `git-<command>` for built-ins
  mingw: always define `ETC_*` for MSYS2 environments
  mingw: ensure valid CTYPE
  mingw: allow `git.exe` to be used instead of the "Git wrapper"
 compat/mingw.c                      | 68 +++++++++++++++++++++++++++++
 config.mak.uname                    | 61 ++++++++++++--------------
 contrib/buildsystems/CMakeLists.txt |  9 +++-
 meson.build                         | 15 ++++++-
 meson_options.txt                   |  4 ++
 t/t0060-path-utils.sh               | 33 +++++++++++++-
 6 files changed, 153 insertions(+), 37 deletions(-)
base-commit: 5b2471720c93ee30e5764a19f3d3b3ae9ec9712a
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2195%2Fdscho%2Fupstream-some-more-git-for-windows-patches-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2195/dscho/upstream-some-more-git-for-windows-patches-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/2195
Range-diff vs v1:
  1:  fd594ffa6c =  1:  fd594ffa6c mingw: include the Python parts in the build
  2:  47fc974582 =  2:  47fc974582 mingw: stop hard-coding `CC = gcc`
  3:  53f1fd5763 =  3:  53f1fd5763 mingw: drop the -D_USE_32BIT_TIME_T option
  4:  ad96aedda6 =  4:  ad96aedda6 mingw: only use -Wl,--large-address-aware for 32-bit builds
  5:  d67201f9b3 =  5:  d67201f9b3 mingw: avoid over-specifying `--pic-executable`
  6:  b49c42c50d =  6:  b49c42c50d mingw: set the prefix and HOST_CPU as per MSYS2's settings
  7:  b00d242621 =  7:  b00d242621 mingw: only enable the MSYS2-specific stuff when compiling in MSYS2
  8:  1593d1d1a0 !  8:  9de4ea7fc1 mingw: rely on MSYS2's metadata instead of hard-coding it
     @@ Commit message
          as before, but drops it for Meson (because it is unclear how Meson could
          do this in a more flexible manner).
      
     +    Helped-by: Junio C Hamano <gitster@pobox.com>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
     @@ meson.build: elif host_machine.system() == 'windows'
      +  if msystem != ''
      +    mingw_prefix = get_option('mingw_prefix')
      +    if mingw_prefix == ''
     -+      mingw_prefix = '/' + msystem.to_lower()
     ++      mingw_prefix = msystem.to_lower()
     ++    elif mingw_prefix.startswith('/')
     ++      mingw_prefix = mingw_prefix.substring(1)
      +    endif
      +    libgit_c_args += [
      +      '-DENSURE_MSYSTEM_IS_SET="' + msystem + '"',
  9:  c4e97449c1 =  9:  60a2999b75 windows: skip linking `git-<command>` for built-ins
 10:  625f01ad29 = 10:  1dd6ac9295 mingw: always define `ETC_*` for MSYS2 environments
 11:  39a138a773 = 11:  d44d05c897 mingw: ensure valid CTYPE
 12:  f822133191 = 12:  679d1fdd41 mingw: allow `git.exe` to be used instead of the "Git wrapper"
-- 
gitgitgadget
Previous: Junio C HamanoNext: Johannes Schindelin via GitGitGadget
Message 20 of 71 in “Upstream some more Git for Windows' patches”
  1. 00/12 Upstream some more Git for Windows' patchesJohannes Schindelin via GitGitGadget, Aug 5, 2026
  2. 01/12 mingw: include the Python parts in the buildJohannes Schindelin via GitGitGadget, Aug 5, 2026
  3. 02/12 mingw: stop hard-coding `CC = gcc`Johannes Schindelin via GitGitGadget, Aug 5, 2026
  4. 03/12 mingw: drop the -D_USE_32BIT_TIME_T optionJohannes Schindelin via GitGitGadget, Aug 5, 2026
  5. 05/12 mingw: avoid over-specifying `--pic-executable`Johannes Schindelin via GitGitGadget, Aug 5, 2026
  6. 04/12 mingw: only use -Wl,--large-address-aware for 32-bit buildsJohannes Schindelin via GitGitGadget, Aug 5, 2026
  7. 08/12 mingw: rely on MSYS2's metadata instead of hard-coding itJohannes Schindelin via GitGitGadget, Aug 5, 2026
  8. Junio C HamanoAug 5, 2026
  9. Johannes SchindelinAug 6, 2026
  10. 06/12 mingw: set the prefix and HOST_CPU as per MSYS2's settingsJohannes Schindelin via GitGitGadget, Aug 5, 2026
  11. 09/12 windows: skip linking `git-<command>` for built-insJohannes Schindelin via GitGitGadget, Aug 5, 2026
  12. Junio C HamanoAug 5, 2026
  13. 07/12 mingw: only enable the MSYS2-specific stuff when compiling in MSYS2Johannes Schindelin via GitGitGadget, Aug 5, 2026
  14. 10/12 mingw: always define `ETC_*` for MSYS2 environmentsJohannes Schindelin via GitGitGadget, Aug 5, 2026
  15. 11/12 mingw: ensure valid CTYPEJohannes Schindelin via GitGitGadget, Aug 5, 2026
  16. 12/12 mingw: allow `git.exe` to be used instead of the "Git wrapper"Johannes Schindelin via GitGitGadget, Aug 5, 2026
  17. Junio C HamanoAug 6, 2026
  18. Johannes SchindelinAug 12, 2026
  19. Junio C HamanoAug 12, 2026
  20. 00/12 Upstream some more Git for Windows' patchesJohannes Schindelin via GitGitGadget, Aug 12, 2026
  21. 01/12 mingw: include the Python parts in the buildJohannes Schindelin via GitGitGadget, Aug 12, 2026
  22. 02/12 mingw: stop hard-coding `CC = gcc`Johannes Schindelin via GitGitGadget, Aug 12, 2026
  23. 03/12 mingw: drop the -D_USE_32BIT_TIME_T optionJohannes Schindelin via GitGitGadget, Aug 12, 2026
  24. 04/12 mingw: only use -Wl,--large-address-aware for 32-bit buildsJohannes Schindelin via GitGitGadget, Aug 12, 2026
  25. 05/12 mingw: avoid over-specifying `--pic-executable`Johannes Schindelin via GitGitGadget, Aug 12, 2026
  26. 06/12 mingw: set the prefix and HOST_CPU as per MSYS2's settingsJohannes Schindelin via GitGitGadget, Aug 12, 2026
  27. 07/12 mingw: only enable the MSYS2-specific stuff when compiling in MSYS2Johannes Schindelin via GitGitGadget, Aug 12, 2026
  28. 08/12 mingw: rely on MSYS2's metadata instead of hard-coding itJohannes Schindelin via GitGitGadget, Aug 12, 2026
  29. Johannes SixtAug 15, 2026
  30. Junio C HamanoAug 31, 2026
  31. Johannes SchindelinSep 9, 2026
  32. Johannes SchindelinSep 9, 2026
  33. 09/12 windows: skip linking `git-<command>` for built-insJohannes Schindelin via GitGitGadget, Aug 12, 2026
  34. 10/12 mingw: always define `ETC_*` for MSYS2 environmentsJohannes Schindelin via GitGitGadget, Aug 12, 2026
  35. 11/12 mingw: ensure valid CTYPEJohannes Schindelin via GitGitGadget, Aug 12, 2026
  36. 12/12 mingw: allow `git.exe` to be used instead of the "Git wrapper"Johannes Schindelin via GitGitGadget, Aug 12, 2026
  37. Johannes SixtAug 15, 2026
  38. 00/12 Upstream some more Git for Windows' patchesJohannes Schindelin via GitGitGadget, Sep 9, 2026
  39. 01/12 mingw: include the Python parts in the buildJohannes Schindelin via GitGitGadget, Sep 9, 2026
  40. 02/12 mingw: stop hard-coding `CC = gcc`Johannes Schindelin via GitGitGadget, Sep 9, 2026
  41. 03/12 mingw: drop the -D_USE_32BIT_TIME_T optionJohannes Schindelin via GitGitGadget, Sep 9, 2026
  42. 04/12 mingw: only use -Wl,--large-address-aware for 32-bit buildsJohannes Schindelin via GitGitGadget, Sep 9, 2026
  43. 05/12 mingw: avoid over-specifying `--pic-executable`Johannes Schindelin via GitGitGadget, Sep 9, 2026
  44. 06/12 mingw: set the prefix and HOST_CPU as per MSYS2's settingsJohannes Schindelin via GitGitGadget, Sep 9, 2026
  45. 07/12 mingw: only enable the MSYS2-specific stuff when compiling in MSYS2Johannes Schindelin via GitGitGadget, Sep 9, 2026
  46. 08/12 mingw: rely on MSYS2's metadata instead of hard-coding itJohannes Schindelin via GitGitGadget, Sep 9, 2026
  47. Johannes SixtSep 9, 2026
  48. Johannes SchindelinSep 9, 2026
  49. Junio C HamanoSep 9, 2026
  50. 09/12 windows: skip linking `git-<command>` for built-insJohannes Schindelin via GitGitGadget, Sep 9, 2026
  51. 10/12 mingw: always define `ETC_*` for MSYS2 environmentsJohannes Schindelin via GitGitGadget, Sep 9, 2026
  52. 11/12 mingw: ensure valid CTYPEJohannes Schindelin via GitGitGadget, Sep 9, 2026
  53. 12/12 mingw: allow `git.exe` to be used instead of the "Git wrapper"Johannes Schindelin via GitGitGadget, Sep 9, 2026
  54. Junio C HamanoSep 9, 2026
  55. 00/13 Upstream some more Git for Windows' patchesJohannes Schindelin via GitGitGadget, Sep 10, 2026
  56. 01/13 mingw: include the Python parts in the buildJohannes Schindelin via GitGitGadget, Sep 10, 2026
  57. 02/13 mingw: stop hard-coding `CC = gcc`Johannes Schindelin via GitGitGadget, Sep 10, 2026
  58. 03/13 mingw: drop the -D_USE_32BIT_TIME_T optionJohannes Schindelin via GitGitGadget, Sep 10, 2026
  59. 04/13 mingw: only use -Wl,--large-address-aware for 32-bit buildsJohannes Schindelin via GitGitGadget, Sep 10, 2026
  60. Oswald BuddenhagenSep 11, 2026
  61. 05/13 mingw: avoid over-specifying `--pic-executable`Johannes Schindelin via GitGitGadget, Sep 10, 2026
  62. 06/13 mingw: set the prefix and HOST_CPU as per MSYS2's settingsJohannes Schindelin via GitGitGadget, Sep 10, 2026
  63. Oswald BuddenhagenSep 11, 2026
  64. 07/13 mingw: only enable the MSYS2-specific stuff when compiling in MSYS2Johannes Schindelin via GitGitGadget, Sep 10, 2026
  65. 08/13 mingw: rely on MSYS2's metadata instead of hard-coding itJohannes Schindelin via GitGitGadget, Sep 10, 2026
  66. 09/13 windows: skip linking `git-<command>` for built-insJohannes Schindelin via GitGitGadget, Sep 10, 2026
  67. 10/13 mingw: always define `ETC_*` for MSYS2 environmentsJohannes Schindelin via GitGitGadget, Sep 10, 2026
  68. 11/13 mingw: ensure valid CTYPEJohannes Schindelin via GitGitGadget, Sep 10, 2026
  69. 12/13 mingw: allow `git.exe` to be used instead of the "Git wrapper"Johannes Schindelin via GitGitGadget, Sep 10, 2026
  70. 13/13 t0060: adjust the code styleJohannes Schindelin via GitGitGadget, Sep 10, 2026
  71. Junio C HamanoSep 10, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.