Diff de diffs
git range-diff (introduit dans Git 2.19) compare deux plages de commits, les appariant par similarité et montrant les changements entre versions. Il est indispensable lors de la review de rerolls de séries de patches ou de la comparaison de branches rebases.
Invocation basique
git range-diff main..topic-v1 main..topic-v2
git range-diff topic-v1...topic-v2
git range-diff origin/main...HEAD
Lire la sortie
=commit inchangé.!commit modifié — suivi de l'inter-diff.<commit uniquement dans la première plage.>commit uniquement dans la seconde plage.
Usage pratique : review pré-merge
git range-diff @{u}...HEAD
Dans les cover letters
git range-diff main..topic-v1 main..topic-v2 >> out/v2/0000-cover-letter.patch
Réglage
git range-diff --creation-factor=70 main..a main..b
git range-diff --no-color-moved main..a main..b
git range-diff --left-only main..a main..b
Erreurs courantes
Comparer entre bases différentes sans s'en rendre compte.