summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2025-08-03 21:25:18 +0000
committerJunio C Hamano <gitster@pobox.com>2025-08-03 18:30:39 -0700
commitf559d422734ff00dcf42779813edde9fa6069526 (patch)
tree35d835637d5eeb176e784628053e5e0363d0a132
parentmingw_rename: support ReFS on Windows 2022 (diff)
downloadgit-f559d422734ff00dcf42779813edde9fa6069526.tar.gz
git-f559d422734ff00dcf42779813edde9fa6069526.zip
mingw: support Windows Server 2016 again
It was reported to the Git for Windows project that a simple `git init` fails on Windows Server 2016: D:\Dev\test> git init error: could not write config file D:/Dev/test/.git/config: Function not implemented fatal: could not set 'core.repositoryformatversion' to '0' According to https://endoflife.date/windows-server, Windows Server 2016 is officially supported for another one-and-a-half years as of time of writing, so this is not good. The culprit is the `mingw_rename()` changes that try to use POSIX semantics when available, but fail to fall back properly on Windows Server 2016. This fixes https://github.com/git-for-windows/git/issues/5695. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--compat/mingw.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/compat/mingw.c b/compat/mingw.c
index d53ce38b7f..8538e3d172 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -2277,7 +2277,9 @@ repeat:
* current system doesn't support FileRenameInfoEx. Keep us
* from using it in future calls and retry.
*/
- if (gle == ERROR_INVALID_PARAMETER || gle == ERROR_NOT_SUPPORTED) {
+ if (gle == ERROR_INVALID_PARAMETER ||
+ gle == ERROR_NOT_SUPPORTED ||
+ gle == ERROR_INVALID_FUNCTION) {
supports_file_rename_info_ex = 0;
goto repeat;
}