Voici ce que git config --help
dit:
core.fscache
Activer la mise en cache supplémentaire des données du système de fichiers pour certaines opérations.
Git pour Windows l'utilise pour lire en masse et mettre en cache les données lstat de répertoires entiers (au lieu de faire lstat fichier par fichier).
Au lieu de faire de nombreuses requêtes sur le système de fichiers, git ne fera qu'une seule requête pour obtenir des informations sur tous les fichiers du répertoire.
Une description plus technique peut être trouvée dans commit qui a introduit fscache
:
Win32: ajoutez un cache sous les implémentations lstat et dirent de mingw
La vérification de l'état de l'arborescence de travail est assez lente sous Windows, en raison de l'émulation lstat lente (git appelle lstat une fois pour chaque fichier de l'index). Les API du système d'exploitation Windows semblent être bien meilleures pour analyser l'état de répertoires entiers que pour vérifier des fichiers uniques.
Ajoutez une implémentation lstat qui utilise un cache pour les données lstat. Le cache manque de lire le répertoire parent entier et de l'ajouter au cache. Les appels lstat suivants pour le même répertoire sont servis directement à partir du cache.
Implémentez également opendir / readdir / closedir afin qu'ils créent et utilisent des listes de répertoires dans le cache.
Le cache ne suit pas les modifications du système de fichiers et ne se connecte à aucune API de modification de fichiers, il doit donc être explicitement activé pour les fonctions git qui ne modifient pas la copie de travail.