Développement piloté par série
Beaucoup de projets revoient les patches par série, pas par branche. Vous publiez v1, recevez du feedback, révisez, envoyez v2, répétez jusqu'au merge. Git fournit des outils de première classe pour cette boucle.
Générer une série
git format-patch -o out/v1 main
git format-patch -o out/v1 --cover-letter --thread main
git format-patch -o out/v1 --subject-prefix='PATCH v1' main
Envoyer
git send-email out/v1/*.patch \
[email protected] \
[email protected]
[sendemail]
smtpserver = smtp.example.com
smtpuser = [email protected]
smtpencryption = tls
smtpserverport = 587
Itération
git format-patch -o out/v2 --subject-prefix='PATCH v2' \
--cover-letter --thread \
--in-reply-to=<v1-message-id> main
git range-diff main..v1 main..HEAD
Préfixe de reroll
git format-patch -v3 -o out/v3 main
Suivi des acks
git interpret-trailers --in-place --trailer 'Reviewed-by: Alice <a@x>' <commit>
Erreurs courantes
Oublier --in-reply-to sur les rerolls. Sauter la cover letter en envoyant trois patches ou plus.