Un cas où l'on pourrait légitimement s'en soucier est celui où l'on veut faire la différence entre les "anciennes" erreurs d'espacement (que l'on pourrait vouloir conserver pour des raisons d'héritage) et les "nouvelles" erreurs d'espacement (que l'on veut éviter).
À cet effet, Git 2.5+ (Q2 2015) proposera une option plus spécifique pour la détection des espaces blancs.
Voir commits 0e383e1 , 0ad782f y d55ef3e [26 mai 2015] par Junio C Hamano ( gitster
) .
(fusionné par Junio en commettre 709cd91 , 11 juin 2015)
diff.c
: --ws-error-highlight=<kind>
option
Traditionnellement, nous ne nous préoccupions que des ruptures d'espaces blancs introduites dans les nouvelles lignes.
Certaines personnes veulent peindre des ruptures d'espacement sur les anciennes lignes, aussi. Quand ils voient une rupture d'espace sur une nouvelle ligne, ils peuvent ligne, ils peuvent repérer le même type de rupture d'espace sur l'ancienne ligne correspondante. sur l'ancienne ligne correspondante et veulent dire "Ah, ces ruptures sont là mais elles ont été héritées de l'original, donc ne les touchons pas pour le moment".
Présentez --ws-error-highlight=<kind>
qui leur permet de passer une liste séparée par des virgules de old
, new
y context
pour spécifier les lignes sur lesquelles les erreurs d'espacement doivent être mises en évidence.
El La documentation comprend désormais :
--ws-error-highlight=<kind>
Mettre en évidence les erreurs d'espacement sur les lignes spécifiées par <kind>
dans la couleur spécifiée par color.diff.whitespace
.
<kind>
est une liste séparée par des virgules de old
, new
, context
.
Lorsque cette option n'est pas donnée, seules les erreurs d'espacement dans les fichiers new
sont mises en évidence.
Par exemple --ws-error-highlight=new,old
met en évidence les erreurs d'espacement sur les lignes supprimées et ajoutées.
all
peut être utilisé comme un raccourci pour old,new,context
.
Par exemple, l'ancien commit avait une erreur d'espacement ( bbb
), mais vous pouvez vous concentrer uniquement sur les nouvelles erreurs (à la fin de la commande still bbb
y ccc
):
(test effectué après t/t4015-diff-whitespace.sh
)
Avec la version 2.26 de Git (Q1 2020), les diff-*
La famille des sous-commandes de plomberie fait désormais attention à l'option diff.wsErrorHighlight
qui n'était pas prise en compte auparavant, ce qui permet à " git add -p
"afin de montrer également à l'utilisateur final les problèmes d'espaces blancs.
Voir commettre da80635 (31 janvier 2020) par Jeff King ( peff
) .
(fusionné par Junio C Hamano -- gitster
-- en commettre df04a31 14 février 2020)
diff
: déplacer diff.wsErrorHighlight vers la configuration "basique".
Signé par : Jeff King
Nous analysons diff.wsErrorHighlight en git_diff_ui_config()
ce qui signifie qu'il ne s'applique pas aux commandes de plomberie, mais uniquement aux commandes de porcelaine, telles que git diff
lui-même.
Ceci est légèrement ennuyeux car cela signifie que des scripts comme add--interactive
qui produisent une différence de couleur visible par l'utilisateur, ne respectent pas l'option .
Nous pourrions apprendre à ce script à analyser la configuration et à la transmettre en tant que --ws-error-highlight
à la plomberie du différentiel. Mais il y a une solution plus simple.
Il devrait être raisonnablement sûr pour la plomberie de respecter cette option, car elle ne se déclenche que lorsque la couleur est autrement activée. Et toute personne qui analyse la sortie colorée doit déjà faire face au fait que color.diff.*
peuvent modifier le résultat exact qu'ils voient ; ces options font partie de la stratégie de l'UE. git_diff_basic_config()
depuis sa création 9a1805a872 (ajout d'un appel de configuration de diff "basique", 2008-01-04, Git v1.5.4-rc3).
Nous pouvons donc le déplacer vers la configuration "de base", qui corrige les problèmes suivants add--interactive
ainsi que tout autre script dans le même bateau, avec un risque très faible de blesser les utilisateurs de la plomberie.
1 votes
Relié ("pourquoi ?") : stackoverflow.com/questions/1583406/