Il problema risolto da range-diff
Un contributore pusha v1 di una serie, poi v2 dopo feedback. Come revisore, vuoi vedere cosa e cambiato tra le versioni.
L'invocazione base
git range-diff main..v1 main..v2
Leggere l'output
1: abc1234 = 1: def5678 Add login form
2: 234abcd ! 2: 9876fed Validate email format
@@ src/login.js
- if (!email.includes("@")) {
+ if (!EMAIL_REGEX.test(email)) {
3: <new> > 3: 111aaaa Add unit tests for validator
=commit identici.!commit con stesso intento ma differenti.>commit solo a destra.<commit solo a sinistra.
Logica di pairing
Range-diff usa metadati commit per accoppiare commit.
Revisionare PR force-pushate
git fetch origin pr/123:pr-123-old
git fetch origin pr/123
git range-diff main..pr-123-old main..origin/pr/123
Range-diff durante rebase
git rebase -i HEAD~5
git range-diff ORIG_HEAD HEAD
Range-diff per release
git range-diff origin/release-1.4 origin/release-1.5
Tunare il confronto
git range-diff --creation-factor=80 base..v1 base..v2
git range-diff --no-patch base..v1 base..v2
Integrazione format-patch
git format-patch --range-diff=v1 --cover-letter -3