All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Johannes Sixt <j6t@kdbg.org>,
	Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: [PATCH v4 00/13] Upstream some more Git for Windows' patches
Date: Thu, 10 Sep 2026 06:05:14 +0000	[thread overview]
Message-ID: <pull.2195.v4.git.1789020327.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.2195.git.1785939999.gitgitgadget@gmail.com>

With the imminent switch of Git for Windows from the old MINGW64 environment
(that was deprecated by MSYS2) to the UCRT64 environment, this patch series
became quite urgent; I will have to work around this patch series not yet
being in master via setup-git-for-windows-sdk to be able to switch without
breaking Git's CI builds.

Originally, I noticed that these patches had not been upstreamed yet when
rebasing a Git for Windows commit to enable Rust in Windows CI.

Changes since v3:

 * Reinstated the fly-by style fix as a separate commit.
 * Added Helped-by trailers
 * Moved and reworded a paragraph from the commit message of 08/12 to 12/12;
   This should have been done as part of v2.

Changes since v2:

 * Moved some hunks that belonged into 12/12 out of 08/12.
 * Dropped a fly-by style cleanup from t0060.

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 (13):
  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"
  t0060: adjust the code style

 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-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2195/dscho/upstream-some-more-git-for-windows-patches-v4
Pull-Request: https://github.com/gitgitgadget/git/pull/2195

Range-diff vs v3:

  1:  fd594ffa6c !  1:  0b8ca0e3b9 mingw: include the Python parts in the build
     @@ Commit message
          bandwidth), MSYS2 provides very fine Python interpreters that users can
          easily take advantage of, by using Git for Windows within its SDK.
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
  2:  47fc974582 !  2:  9894892ff5 mingw: stop hard-coding `CC = gcc`
     @@ Commit message
          This is no longer true in general, not with supporting Clang out of the
          box.
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
  3:  53f1fd5763 !  3:  340dd18f27 mingw: drop the -D_USE_32BIT_TIME_T option
     @@ Commit message
      
          So let's send that option into its well-deserved retirement.
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
  4:  ad96aedda6 !  4:  37c6563d74 mingw: only use -Wl,--large-address-aware for 32-bit builds
     @@ Commit message
          those builds; UCRT64 versions of GCC, for example, do not know what to
          do with that option.
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
  5:  d67201f9b3 !  5:  0063f2d96a mingw: avoid over-specifying `--pic-executable`
     @@ Commit message
      
          So let's drop the overly-specific definition.
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
  6:  b49c42c50d !  6:  e03279a0df mingw: set the prefix and HOST_CPU as per MSYS2's settings
     @@ Commit message
          can use those to infer the installation location as well as the CPU. No
          need for hard-coding ;-)
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
  7:  b00d242621 !  7:  29caf78bdd mingw: only enable the MSYS2-specific stuff when compiling in MSYS2
     @@ Commit message
          course. In that case, we want to ensure that `MSYSTEM` is set when
          running `git.exe`, and also enable the magic MSYS2 tty detection.
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
  8:  4cc14553dc !  8:  a9665a3304 mingw: rely on MSYS2's metadata instead of hard-coding it
     @@ Commit message
          Incidentally, this also broadens the support to all the configurations
          supported by the MSYS2 project, i.e. clang64 & ucrt64, too.
      
     -    Note: This keeps the same, hard-coded MSYSTEM platform support for CMake
     -    as before, but drops it for Meson (because it is unclear how Meson could
     -    do this in a more flexible manner).
     -
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Helped-by: Junio C Hamano <gitster@pobox.com>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
  9:  19c600cbee !  9:  0d2990aa14 windows: skip linking `git-<command>` for built-ins
     @@ Commit message
          This deprecation was never finalized by skipping these hard-links, but
          we can start the process now, in Git for Windows.
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
 10:  b8cc067e92 ! 10:  b5a78f65b6 mingw: always define `ETC_*` for MSYS2 environments
     @@ Commit message
      
          Special-casing even more configurations simply does not make sense.
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## config.mak.uname ##
 11:  09c90015fb ! 11:  1bbd0dc6aa mingw: ensure valid CTYPE
     @@ Commit message
      
          This fixes https://github.com/git-for-windows/git/issues/1036
      
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## compat/mingw.c ##
 12:  4a4f24a1ba ! 12:  e8115c158c mingw: allow `git.exe` to be used instead of the "Git wrapper"
     @@ Commit message
      
          This addresses https://github.com/git-for-windows/git/issues/2283
      
     +    Note: This keeps the same, hard-coded MSYSTEM platform support for CMake
     +    as before, and introduces an `msystem' and `mingw-prefix` knob for Meson
     +    (read: neither CMake nor Meson will automatically inherit the setting
     +    from the current build environment).
     +
     +    Helped-by: Johannes Sixt <j6t@kdbg.org>
          Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
      
       ## compat/mingw.c ##
  -:  ---------- > 13:  88403ffc9e t0060: adjust the code style

-- 
gitgitgadget

  parent reply	other threads:[~2026-09-10  6:05 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-05 14:26 [PATCH 00/12] Upstream some more Git for Windows' patches Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 01/12] mingw: include the Python parts in the build Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 02/12] mingw: stop hard-coding `CC = gcc` Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 03/12] mingw: drop the -D_USE_32BIT_TIME_T option Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 04/12] mingw: only use -Wl,--large-address-aware for 32-bit builds Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 05/12] mingw: avoid over-specifying `--pic-executable` Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 06/12] mingw: set the prefix and HOST_CPU as per MSYS2's settings Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 07/12] mingw: only enable the MSYS2-specific stuff when compiling in MSYS2 Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 08/12] mingw: rely on MSYS2's metadata instead of hard-coding it Johannes Schindelin via GitGitGadget
2026-08-05 17:29   ` Junio C Hamano
2026-08-06 12:50     ` Johannes Schindelin
2026-08-05 14:26 ` [PATCH 09/12] windows: skip linking `git-<command>` for built-ins Johannes Schindelin via GitGitGadget
2026-08-05 17:12   ` Junio C Hamano
2026-08-05 14:26 ` [PATCH 10/12] mingw: always define `ETC_*` for MSYS2 environments Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 11/12] mingw: ensure valid CTYPE Johannes Schindelin via GitGitGadget
2026-08-05 14:26 ` [PATCH 12/12] mingw: allow `git.exe` to be used instead of the "Git wrapper" Johannes Schindelin via GitGitGadget
2026-08-06 17:26   ` Junio C Hamano
2026-08-12  7:51     ` Johannes Schindelin
2026-08-12 14:27       ` Junio C Hamano
2026-08-12  7:52 ` [PATCH v2 00/12] Upstream some more Git for Windows' patches Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 01/12] mingw: include the Python parts in the build Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 02/12] mingw: stop hard-coding `CC = gcc` Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 03/12] mingw: drop the -D_USE_32BIT_TIME_T option Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 04/12] mingw: only use -Wl,--large-address-aware for 32-bit builds Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 05/12] mingw: avoid over-specifying `--pic-executable` Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 06/12] mingw: set the prefix and HOST_CPU as per MSYS2's settings Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 07/12] mingw: only enable the MSYS2-specific stuff when compiling in MSYS2 Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 08/12] mingw: rely on MSYS2's metadata instead of hard-coding it Johannes Schindelin via GitGitGadget
2026-08-15 13:44     ` Johannes Sixt
2026-08-31 18:59       ` Junio C Hamano
2026-09-09 18:56       ` Johannes Schindelin
2026-09-09 19:09         ` Johannes Schindelin
2026-08-12  7:52   ` [PATCH v2 09/12] windows: skip linking `git-<command>` for built-ins Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 10/12] mingw: always define `ETC_*` for MSYS2 environments Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 11/12] mingw: ensure valid CTYPE Johannes Schindelin via GitGitGadget
2026-08-12  7:52   ` [PATCH v2 12/12] mingw: allow `git.exe` to be used instead of the "Git wrapper" Johannes Schindelin via GitGitGadget
2026-08-15 14:10   ` [PATCH v2 00/12] Upstream some more Git for Windows' patches Johannes Sixt
2026-09-09 19:17 ` [PATCH v3 " Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 01/12] mingw: include the Python parts in the build Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 02/12] mingw: stop hard-coding `CC = gcc` Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 03/12] mingw: drop the -D_USE_32BIT_TIME_T option Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 04/12] mingw: only use -Wl,--large-address-aware for 32-bit builds Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 05/12] mingw: avoid over-specifying `--pic-executable` Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 06/12] mingw: set the prefix and HOST_CPU as per MSYS2's settings Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 07/12] mingw: only enable the MSYS2-specific stuff when compiling in MSYS2 Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 08/12] mingw: rely on MSYS2's metadata instead of hard-coding it Johannes Schindelin via GitGitGadget
2026-09-09 19:47     ` Johannes Sixt
2026-09-09 20:13       ` Johannes Schindelin
2026-09-09 21:17         ` Junio C Hamano
2026-09-09 19:17   ` [PATCH v3 09/12] windows: skip linking `git-<command>` for built-ins Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 10/12] mingw: always define `ETC_*` for MSYS2 environments Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 11/12] mingw: ensure valid CTYPE Johannes Schindelin via GitGitGadget
2026-09-09 19:17   ` [PATCH v3 12/12] mingw: allow `git.exe` to be used instead of the "Git wrapper" Johannes Schindelin via GitGitGadget
2026-09-09 19:41     ` Junio C Hamano
2026-09-10  6:05 ` Johannes Schindelin via GitGitGadget [this message]
2026-09-10  6:05   ` [PATCH v4 01/13] mingw: include the Python parts in the build Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 02/13] mingw: stop hard-coding `CC = gcc` Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 03/13] mingw: drop the -D_USE_32BIT_TIME_T option Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 04/13] mingw: only use -Wl,--large-address-aware for 32-bit builds Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 05/13] mingw: avoid over-specifying `--pic-executable` Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 06/13] mingw: set the prefix and HOST_CPU as per MSYS2's settings Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 07/13] mingw: only enable the MSYS2-specific stuff when compiling in MSYS2 Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 08/13] mingw: rely on MSYS2's metadata instead of hard-coding it Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 09/13] windows: skip linking `git-<command>` for built-ins Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 10/13] mingw: always define `ETC_*` for MSYS2 environments Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 11/13] mingw: ensure valid CTYPE Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 12/13] mingw: allow `git.exe` to be used instead of the "Git wrapper" Johannes Schindelin via GitGitGadget
2026-09-10  6:05   ` [PATCH v4 13/13] t0060: adjust the code style Johannes Schindelin via GitGitGadget
2026-09-10 12:51   ` [PATCH v4 00/13] Upstream some more Git for Windows' patches Junio C Hamano

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=pull.2195.v4.git.1789020327.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=j6t@kdbg.org \
    --cc=johannes.schindelin@gmx.de \
    /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.