Release XG (v0.51.651): force update non-fatal on undeletable untracked files (#4914)

This commit is contained in:
nesquena-hermes 2026-06-25 11:23:13 +00:00
parent fb76846b38
commit a0e78a7306

View file

@ -3,6 +3,12 @@
## [Unreleased]
## [v0.51.651] — 2026-06-25 — Release XG (force update no longer aborts on undeletable Windows files)
### Fixed
- **Force update no longer fails when the working tree contains a file git can't delete (Windows reserved device names).** On Windows, a file named after a reserved device (`nul`, `con`, `prn`, `aux`, `com1`–`com9`, `lpt1`–`lpt9`) can end up in the working tree — for example when a shell command redirects to `> nul` under Git Bash, which treats it as a literal filename — and git cannot remove it through the normal Win32 path. That made `git clean -fd` exit non-zero, and the force-update flow treated it as fatal ("Failed to remove untracked files before force reset"), leaving the user permanently unable to force-update. The clean step is now best-effort: a failure is logged for diagnostics but no longer aborts, because the subsequent `git reset --hard` applies the update regardless (overwriting any tracked-file collisions, and the residual undeletable untracked file is harmless). A genuine reset failure still aborts as before. Thanks @rodboev for the report and root-cause. (#4914)
## [v0.51.650] — 2026-06-25 — Release XF (table cells with a pipe inside inline code render correctly)
### Fixed