Existe-t-il un moyen de limiter git diff
aux fichiers modifiés ?
J'aimerais voir les différences entre deux commits, mais exclure les chemins qui n'existent pas dans l'un ou l'autre (ajouts/suppressions). La ligne Perl suivante illustre l'essentiel de ce que je souhaite :
git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/'
Mais cela laisse diff --git a/path b/path
pour les fichiers nouveaux ou supprimés. De plus, ce serait beaucoup plus agréable si je n'avais pas à analyser (cela échoue également si un morceau contient quelque chose qui correspond à /^diff/, par exemple).
J'ai également essayé une autre solution :
git diff --name-status (args) | perl -lnwe 'print if s/^M\s+//' | xargs git diff (args) --
Son rendement est meilleur, mais il semble toujours aussi artificiel.