Question Comment obtenir aucun contexte lors de l'utilisation de svn diff


Lorsque j'utilise 'svn diff' depuis la ligne de commande, il affiche les lignes qui ont changé mais aussi les 3 lignes inchangées avant et après pour le contexte. Je préfère beaucoup ne voir que les lignes modifiées sans contexte. Je n'ai pas été en mesure de déterminer des options de ligne de commande qui me permettent de le faire se comporter de cette façon. Standard 'diff' et 'cvs diff' font ce que je veux par défaut. 'Svn diff' peut certainement faire cela, mais il me manque quelque chose. Quelqu'un sait comment?


13
2017-10-16 13:01


origine


Réponses:


Après avoir examiné le lien utile fourni ci-dessus par le déroulement, la réponse courte est que le diff intégré de svn ne peut pas faire ce que je veux. Vous pouvez lui dire d'utiliser le diff externe standard et de lui envoyer des arguments pour lui dire que vous ne voulez aucun contexte. Je mets l'alias suivant dans mon fichier .bashrc et tout fonctionne maintenant bien si je l'utilise plutôt:

alias svndiff='svn diff --diff-cmd=diff -x -U0'

17
2017-10-16 13:37



La suggestion ci-dessus produit toujours le format de contexte, mais avec 0 lignes de contexte. Ce n'est toujours pas la sortie traditionnelle diff avant la subversion.

Ce qui marche pour moi c'est: svn di --diff-cmd=diff -x --normal

le --normal L'option (dans le diff fourni avec OSX) donne le format traditionnel que certaines personnes préfèrent.


4
2017-11-19 17:46



Vous pouvez diriger les résultats de 'svn diff' vers grep et écrire une expression régulière pour obtenir ce que vous voulez. Par exemple, essayez ceci:

svn diff | grep "^[+-\]"

La commande ci-dessus vous permet d'obtenir toutes les lignes commençant par un «+» ou un «-» ou un «\». (Vous avez besoin du "\" si vous voulez voir des différences telles que "\ Pas de nouvelle ligne à la fin du fichier".)


3
2017-10-16 13:12



Ce fil semble arriver à la conclusion que vous devez utiliser une commande diff externe pour contrôler la quantité de contexte.

Je préfère les diffs unifiés, donc mes doigts tapent toujours

svn diff -x -u

Ce qui implique qu'une commande externe (GNU diff) est utilisée, je pense.


2
2017-10-16 13:07