Le bouquet de paramètres
Régler les monorepos implique une douzaine de paramètres. Plutôt que de tous les mémoriser et appliquer, Git fournit des "feature flags" qui activent un bouquet cohérent. feature.manyFiles est le plus utile.
Ce qu'il définit
index.version=4— compression de préfixe.core.untrackedCache=true— cache des listings untracked.- (Implicite) chemins de lecture d'index recommandés.
git config feature.manyFiles true
git config --list | grep -E '^(index|core)\.'
Fonctionnalités sœurs
feature.experimental=true.- Historique :
feature.manyCommits.
Combiner avec la pile monorepo
git config feature.manyFiles true
git config core.fsmonitor true
git config core.commitGraph true
git sparse-checkout init --cone --sparse-index
git maintenance start
Comportement entre versions
L'ensemble exact de paramètres que feature.manyFiles active peut changer entre versions.
Vérifier l'impact
time git -c feature.manyFiles=false status
time git -c feature.manyFiles=true status
GIT_TRACE2_PERF=1 git status 2>&1 | head -50
Erreurs courantes
git update-index --index-version 4
git status
Reset
git config --unset feature.manyFiles
git update-index --index-version 2