Dites que vous avez un repo avec des changements de remplacement des onglets avec des espaces. J'ai téléchargé un repo ad-hocdétecter les changements d'onglet sur un repo
$ git clone https://github.com/albfan/whitespace-diff
$ cd whitespace-diff
$ cat -A file1
text$
^Ianother text$
^I^Itext$
$ git checkout HEAD^
$ cat -A file1
text$
^Ianother text$
^I text$
Si vous demandez git pour les modifications que vous obtenez
$ git checkout master
$ git diff HEAD^
diff --git c/file1 w/file1
index 69e1c73..82d1284 100644
--- c/file1
+++ w/file1
@@ -1,3 +1,3 @@
text
another text
- text
+ text
qui se remplace les onglets avec des espaces
Comment peut-on obtenir ce genre de diff:
$ diff -u <(git show HEAD^:file1 | cat -A) <(git show HEAD:file1 | cat -A)
--- /dev/fd/63 2016-01-31 23:21:52.341506890 +0100
+++ /dev/fd/62 2016-01-31 23:21:52.341506890 +0100
@@ -1,3 +1,3 @@
text$
^Ianother text$
-^I text$
+^I^Itext$
et de voir les substitutions d'onglets réels? Ici, il y a seulement un fichier impliqué dans diff, mais sur commit avec plusieurs fichiers implicites obtenir cette sortie peut être un cauchemar
Cela fonctionne vraiment. Ceci est ma solution finale pour une couleur de deux côtés diff 'cdiff -s <<(git diff | perl -p -e 's/\ t/^ I/g')' https://pypi.python.org /pypi/cdiff/0.9.6 –
albfan