Skip to content

Upstream some fixes from Microsoft Git - #6482

Open
dscho wants to merge 5 commits into
git-for-windows:mainfrom
dscho:fixes-from-microsoft-git
Open

dscho wants to merge 5 commits into
git-for-windows:mainfrom
dscho:fixes-from-microsoft-git

Conversation

@dscho

@dscho dscho commented Oct 14, 2026

Copy link
Copy Markdown
Member

These fixes mainly hail from the -rc rebases of Microsoft Git, where I realized a couple of issues that affect Git for Windows' patch thicket itself (and not the patches Microsoft Git puts on top). The fixes fall into two categories: fall-out from the MINGW64 -> UCRT64 transition, and fall-out from deprecating git survey in favor of git repo structure.

dscho added 5 commits October 14, 2026 15:13
…erver

Nano Server needs runtime DLLs from the SDK used to build Git, but the
current x64 environment no longer contains `/mingw64/bin`. Honor the
setup action's `MSYSTEM` selection while keeping the container-side
directory independent of the toolchain name.

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
…opment

The PowerShell example still assumes `/mingw64`, which is absent from
the current x64 SDK. Keep its environment and search path consistent
with UCRT64 while preserving the non-login `bash` invocation and access
to `/usr/bin`.

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The deprecation note still promises behavior intentionally removed by
the shim. Explain the migration to `git repo structure` so users can
choose their ref scope and output, including opting out of name lookup,
without relying on ignored configuration or unsupported options.

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The test reporter fails with "Permission denied" when appending
`FAILED_TEST_ARTIFACTS` to `GITHUB_ENV` in linux-TEST-vars, linux32 and
debian-12:
https://github.com/microsoft/git/actions/runs/35114876023

Each Actions step receives a distinct environment file, so the earlier
build/test permission adjustment does not cover the reporter. Give this
step the access it needs to record failure artifacts while retaining
rootless execution and unchanged reporting logic.

I overlooked this in the original 0458e8b (ci(dockerized): do show
the result of failing tests again, 2025-11-17).

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The pretend SDK layout should reflect the current x64 UCRT64 defaults
when neither `MINGW_PREFIX` nor `MSYSTEM` is specified. Explicit
selections remain honored; only the fixture's fallback changes.

I forgot this part before upstreaming caa5d9e (mingw: allow
`git.exe` to be used instead of the "Git wrapper", 2026-09-10).

Assisted-by: GPT-6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho
dscho requested review from mjcheetham and a balanced review from Copilot October 14, 2026 13:22
@dscho dscho self-assigned this Oct 14, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The migration guide recommends unsupported options and configuration variables.

1 open finding
What changed in this PR

Updates Windows tooling for UCRT64 and documents migration from git survey to git repo structure.

Changes:

  • Switches Windows SDK assumptions from MINGW64 to UCRT64.
  • Updates CI runtime paths and failure-report permissions.
  • Adds migration guidance for deprecated survey options and configuration.
File Description
t/​t0060-path-utils.sh Updates the default test prefix to UCRT64.
Documentation/​git-survey.adoc Adds migration guidance for the survey shim.
Documentation/​config/​survey.adoc Marks survey.* settings as ignored.
AGENTS.md Updates SDK build instructions for UCRT64.
.github/​workflows/​nano-server.yml Mounts runtime DLLs from the active SDK.
.github/​workflows/​main.yml Makes the environment file writable during failure reporting.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +85 to +88
`--commit-parents=<n>`, `--commit-sizes=<n>`, `--tree-entries=<n>`,
`--tree-sizes=<n>`, `--blob-sizes=<n>`, and `--[no-]name-rev` retain their
names in `git repo structure`, but are not accepted by the shim. Each
object-list limit defaults to 0.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants