83 votes

mise en place de la largeur de tabulation à 4 dans git show / git diff

Au travail, nous sommes plusieurs développeurs et nous n'avons pas de guide de style de code, et certains développeurs indentent avec des tabulations, et d'autres avec 4 espaces (heureusement, aucun des développeurs indentant avec des espaces n'utilise plus de 4 espaces). En général, ce n'est pas un (gros) problème car dans nos éditeurs, nous réglons les paramètres suivants tabwidth=4 et toutes les indentations semblent correctes.

Mais en git diff o git show c'est ce qui apparaît :

diff --git a/mesclatabs.php b/mesclatabs.php
new file mode 100644
index 0000000..1986c91
--- /dev/null
+++ b/mesclatabs.php
@@ -0,0 +1,5 @@
+<?php
+function foo() {
+       echo "line with 1 tab\n";
+    echo "line with 4 spaces\n";
+}

Le problème est le suivant git diff o git show où chaque tabulation apparaît d'une largeur de 8 espaces (en réalité, elle apparaît comme une tabulation, et l'interpréteur de commandes (bash dans mon cas) affiche la tabulation comme étant de 8 espaces). Je suppose qu'il doit y avoir une configuration bash pour changer cela, mais j'aimerais savoir si git a une option pour afficher les tabulations comme 4 espaces en diff / show , car certains développeurs travaillent avec des zsh au lieu de bash .

Des idées ?

124voto

Spero.ShiroPetto Points 863

Je crois git config --global core.pager 'less -x1,5'

Références :

3voto

adius Points 533

En tant que réponse https://stackoverflow.com/a/10584237/1850340 n'a pas fonctionné pour moi à cause de mes paramètres de couleur, j'ai trouvé la solution suivante :

TAB=$'\t' && git config --global core.pager "sed 's/$TAB/    /g' | less" && unset TAB

Ceci remplace tous les caractères de tabulation par 4 espaces avant de l'afficher avec moins. (Le contournement de la tabulation est nécessaire pour éviter l'échappement de la barre oblique inverse).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X