Pouvez-vous expliquer les erreurs d'espaces dans git, que signifient-elles, qu'est-ce que le `` silencieux '', et dois-je m'en inquiéter?
(Exécution de msysgit, mais avec d'autres utilisateurs sous linux).
Il existe déjà une réponse "définitive" pour autocrlf ici (définissez-la sur false git config --global core.autocrlf false
)
Squelching est initialement une fonction utilisée dans les télécommunications pour définir un seuil au-dessus duquel un signal est autorisé ou non.
Dans votre cas, quand vous voyez:
warning: squelched 104 whitespace errors
warning: 109 lines add whitespace errors.
Cela signifie: au lieu d'afficher plus de 100 messages d'erreur, il vous avertit qu'il aurait dû afficher ces erreurs (mais il ne le fera pas, afin de ne pas encombrer la sortie)
Je n'ai pas de recommandations définitives pour la politique des espaces blancs, sauf pour identifier pourquoi elles sont introduites en premier lieu.
Si votre éditeur ne convertit pas les caractères eol (fin de ligne) entre Window et Unix, cela signifie qu'il ajoute ou supprime automatiquement des espaces blancs, ce qui n'est pas toujours utile.
Un premier test (comme dans ce article de blog ) consiste à désactiver la politique:
git config core.whitespace nowarn
ou essayez
git config core.whitespace fix
et voyez si cela facilite vos opérations de rebase.
Voici comment corriger les erreurs "espaces vides" lors de l'utilisation de git apply:
La première chose que vous devez savoir est: qu'est-ce qu'une erreur d'espace. Ceci est expliqué dans la documentation des paramètres core.whitespace . Fondamentalement, git gère plusieurs types d'erreurs d'espaces:
blank-at-eol
blank-at-eof
space-before-tab
indent-with-non-tab
tab-in-indent
cr-at-eol
espace de fin l'erreur peut augmenter lors de l'application d'un correctif à un fichier à l'aide de la fin de la ligne de style Windows (CRLF). Pour éviter cet avertissement, vous pouvez demander à git apply
pour ne pas afficher d'avertissement:
git apply --whitespace=nowarn fix.patch
ou vous pouvez modifier la configuration git à la volée (avec -c
) pour dire "ok git, CR en fin de ligne va bien cette fois":
git -c core.whitespace=cr-at-eol apply fix.patch
Si vous voulez le rendre permanent , éditez simplement la configuration git comme ça:
git config apply.whitespace nowarn
ou :
git config core.whitespace cr-at-eol
Après avoir également cherché cette réponse et examiné les manuels git-config et git-apply, j'ai constaté que
git config apply.whitespace nowarn
désactive l'affichage des erreurs d'espaces dans votre référentiel actuel.
Pour le rendre disponible pour tous les référentiels, ajoutez simplement --global
comme ça:
git config --global apply.whitespace nowarn