change - estableciendo tabwidth a 4 en git show/git diff
git user login (2)
En el trabajo somos varios desarrolladores y no tenemos una guía de estilo de código, y algunos desarrolladores sangran con pestañas, y algunos otros con 4 espacios (afortunadamente ninguno de los sangrados con espacios usa más de 4 espacios). En general, este no es un problema (grande) porque en nuestros editores establecemos tabwidth=4
y toda la sangría parece correcta.
Pero en git diff
o git show
eso es lo que aparece:
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";
+}
El problema es git diff
o git show
donde cada pestaña aparece tan ancha como 8 espacios (bueno, en realidad aparece como una pestaña, y el shell (bash en mi caso) muestra la pestaña como 8 espacios. Supongo que debe haber alguna bash config para cambiar esto, pero me gustaría saber si git tiene una opción para generar pestañas como 4 espacios en diff
/ show
, ya que algunos desarrolladores trabajan con zsh
lugar de bash
.
¿Algunas ideas?
Como la respuesta https://.com/a/10584237/1850340 no funcionó para mí debido a mi configuración de color, se me ocurrió la siguiente solución:
TAB=$''/t'' && git config --global core.pager "sed ''s/$TAB/ /g'' | less" && unset TAB
Esto reemplaza todos los caracteres de tabulación con 4 espacios antes de mostrarlo con menos. (La solución TAB es necesaria para evitar el escape de barra invertida)
Creo que git config --global core.pager ''less -x1,5''
Referencia: git-scm chp7-1