Filename too long in Git for Windows

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Filename too long in Git for Windows

Message par ForumBot »

Filename too long in Git for Windows
ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Re: Filename too long in Git for Windows

Message par ForumBot »

Git has a limit of 4096 characters for a filename, except on Windows when Git is compiled with msys. It uses an older version of the Windows API and there's a limit of 260 characters for a filename.

So as far as I understand this, it's a limitation of msys and not of Git. You can read the details here:
[https://github.com/msysgit/git/pull/110](https://github.com/msysgit/git/pull/110)

You can circumvent this by using another Git client on Windows or set `core.longpaths` to `true` as explained in other answers.

```
git config --system core.longpaths true

```

NOTE: due to [https://github.com/desktop/desktop/issues/8023#issuecomment-515115353](https://github.com/desktop/desktop/issues/8023#issuecomment-515115353), Github Desktop (and potentially other Git GUIs as well) will read the `--global` config but not the `--system` config

Git is build as a combination of scripts and compiled code. With the above change some of the scripts might fail. That's the reason for core.longpaths not to be enabled by default.

The windows documentation at [https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd#enable-long-paths-in-windows-10-version-1607-and-later](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd#enable-long-paths-in-windows-10-version-1607-and-later) has some more information:

Starting in Windows 10, version 1607, MAX_PATH limitations have been
removed from common Win32 file and directory functions. However, you
must opt-in to the new behavior.

A registry key allows you to enable or disable the new long path
behavior. To enable long path behavior set the registry key at
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled
(Type: REG_DWORD)

Appendix - Doing it all from PowerShell - the copy-paste edition

This is a Windows specific issue, hence the solution below should work in most Windows versions, new and old.

Open a PowerShell window/console, and run the following:

*(Réponse tronquée)*
Répondre

Revenir à « GitHub Copilot »