Nom de fichier trop long dans Git pour Windows

Nom de fichier trop long dans Git pour Windows


Source : [Stack Overflow [windows]](Add Windows long path support by vangdfang · Pull Request #110 · msysgit/git · GitHub](Add Windows long path support by vangdfang · Pull Request #110 · msysgit/git · GitHub)

Git a une limite de 4096 caractères pour un nom de fichier, sauf sous Windows lorsque Git est compilé avec msys. Il utilise une version plus ancienne de l’API Windows et il y a une limite de 260 caractères pour un nom de fichier.

Donc, d’après ce que je comprends, c’est une limitation de msys et non de Git. Vous pouvez lire les détails ici :
https://github.com/msysgit/git/pull/110

Vous pouvez contourner cela en utilisant un autre client Git sous Windows ou en définissant core.longpaths à true comme expliqué dans les autres réponses.

git config --system core.longpaths true

NOTE : en raison de https://github.com/desktop/desktop/issues/8023#issuecomment-515115353, GitHub Desktop (et potentiellement d’autres interfaces graphiques Git également) lira la configuration --global mais pas la configuration --system

Git est construit comme une combinaison de scripts et de code compilé. Avec le changement ci-dessus, certains scripts peuvent échouer. C’est la raison pour laquelle core.longpaths n’est pas activé par défaut.

La documentation Windows à 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 contient quelques informations supplémentaires :

À partir de Windows 10, version 1607, les limitations MAX_PATH ont été supprimées des fonctions courantes de fichiers et répertoires Win32. Cependant, vous devez opter pour le nouveau comportement.

Une clé de registre vous permet d’activer ou de désactiver le nouveau comportement des chemins longs. Pour activer le comportement des chemins longs, définissez la clé de registre à
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled
(Type : REG_DWORD)

Annexe - Tout faire depuis PowerShell - l’édition copier-coller

Il s’agit d’un problème spécifique à Windows, donc la solution ci-dessous devrait fonctionner dans la plupart des versions de Windows, anciennes et récentes.

Ouvrez une fenêtre/console PowerShell et exécutez ce qui suit :

(Réponse tronquée)