Ce document décrit le processus de QMK pour la gestion des breaking changes. Un breaking change est un changement qui modifie la manière dont QMK fonctionne introduisant des incompatibilités ou des comportements dangereux. Nous limitons ces changements afin que les utilisateurs n'aient pas peur de casser leurs keymaps en mettant à jour leur version de QMK.
La période de breaking change est quand nous allons fusionner un PR qui change QMK d'une manière dangereuse ou inattendue. Il y a une période interne de test afin de nous assurer que les problèmes résiduels sont rares ou impossible à prévoir.
Le prochain Breaking Change est planifié pour le 29 novembre.
future est créé. Il va être rebasé de manière hebdomadaire.future fermé aux nouveaux PRs.master est bloqué, pas de PRs fusionnés.future est fusionné dans master.master est débloqué. Les PRs peuvent à nouveau être fusionnés.Pour voir une liste de candidats de breaking changes, vous pouvez regarder la liste des labels breaking_change. De nouveaux changements peuvent être ajoutés entre maintenant et lorsque future est fermée, et un PR avec ce label n'est pas garanti d'être fusionné.
Si vous souhaitez que votre breaking change soit inclus dans ce tour, vous devez créer un PR avec le label breaking_change et faire en sorte qu'il soit accepté avant que future ne soit fermé. Une fois future fermé, aucun nouveau breaking change sera accepté.
Critère d'acceptation:
Cette section documente plusieurs processus que nous utilisons en lançant le processus de Breaking Change.
future de masterCeci est lancé chaque vendredi tant que future est ouvert.
Processus:
cd qmk_firmware
git checkout master
git pull --ff-only
git checkout future
git rebase master
git push --force
futureCeci est fait immédiatement après la fusion de la branche future précédente.
qmk_firmware git commands
git checkout mastergit pull --ff-onlygit checkout -b futurereadme.md
git commit -m 'Branch point for <DATE> Breaking Change'git tag breakpoint_<YYYY>_<MM>_<DD>git tag <next_version> # Evite que le label point d'arrêt soit confondu par un incrément de versiongit push origin futuregit push --tagsfuture est maintenant fermé aux nouveaux PRs, seul des correctifs pour les PRs courants peuvent être mergésqmk_firmware git commands
git checkout futuregit pull --ff-onlygit rebase origin/masterreadme.md
futuregit commit -m 'Merge point for <DATE> Breaking Change'git push origin futurefuturefuture