comment faire pour que svn diff montre uniquement les changements de ligne non blancs entre deux révisions


95

Je peux obtenir des différences entre deux révisions en utilisant quelque chose comme

svn diff -r 100:200 > file.diff

Mais le problème est qu'il y a de nombreuses lignes qui apparaissent en raison du changement dans les espaces. Existe-t-il un moyen de n'écrire que les lignes qui changent réellement de manière significative et pas seulement dans des espaces?

Réponses:


95

Vous pouvez utiliser

svn diff -r 100:200 -x -b > file.diff

Si vous souhaitez ignorer tous les espaces:

svn diff -x -w | less

La source


Est-ce nouveau pour 1.6? SVN n'utilise jamais pour faire ça. Je devrais rester plus à jour :)
Dan McGrath

4
1.5.4 le fait. Mais: --ignore-space-change, pas --ignore-space-changes
ur.

@Dan McG. Je ne sais pas si c'est nouveau pour 1.6, mais l'entrée numéro 8 sur akatombo.com/en/comments/ignore_whitespace_in_a_subversion_diff suggère qu'il est disponible depuis 1.4
jrbjazz

1
Étant donné que EOL peut également être considéré comme un espace blanc, l'ajout -x --ignore-eol-stylepeut être nécessaire si le style EOL est différent entre les révisions.
nedim le

5
L'utilisation svn diff -x -wpeut parfois aussi être utile, car elle ignore plus d'espaces (alias pour ignore-all-space)
Kendall

74

Utilisez -x --ignore-space-changeou -x --ignore-all-space. (Voir svn -h diff.)


21
svn diff -x -w==svn diff -x --ignore-all-space
chrisg86

7

Vous pouvez utiliser une autre commande diff en utilisant l'argument --diff-cmd pour svn diff. diff est un bon utilitaire qui possède de nombreuses fonctionnalités pour ignorer les espaces.

Par exemple:

svn diff --diff-cmd /usr/bin/diff -x "-w"

11
en fait, j'ai utilisé svn diff --diff-cmd / usr / bin / diff -x "-w" -r 2000: 2100> jj1 et cela fonctionne. merci
umar

@umar: C'est la seule façon qui semble fonctionner pour moi.
Courses de légèreté en orbite

7

Notez que les fins de ligne ne sont pas considérées comme des espaces dans ce scénario et que cela doit être ignoré avec:

svn diff -x --ignore-eol-style [etc...]
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.