Référence des sources Erlang/OTP
Clause suit la branche officielle maint-29. La révision épinglée (pin),
vérifiée, se trouve dans
references/otp-pin.cmake :
- Révision
21776803ecd11f5fa948732c0ec66b8f325dedfc(commit amont daté du 2026-09-22), confirmée inchangée pour la dernière fois le 2026-10-03. - Oracle installé utilisé pour les résultats de référence (goldens) et les audits : OTP 29.1.1 / ERTS 17.1.
references/otp est un checkout ignoré par Git. Les builds et tests normaux
utilisent des goldens appartenant au projet et n'ont besoin ni du checkout ni
d'un OTP installé. La configuration et les tests ne récupèrent ni n'avancent
jamais la référence. Les audits en direct sont optionnels, avec
-DCLAUSE_OTP_AUDITS=ON ; voir
régénération des fixtures.
Les sources d'OTP, les utilitaires copiés et les en-têtes générés par OTP n'entrent jamais dans Git. Les entrées de test commitées sont écrites localement ; les goldens commités sont des observations de ces entrées. Voir validation.
Procédure de mise à jour
À exécuter au début de tout travail dépendant d'OTP.
- Vérifier
git -C references/otp status --shortet préserver le travail local. Récupérer :git -C references/otp fetch https://github.com/erlang/otp.git refs/heads/maint-29:refs/remotes/origin/maint-29. Examinergit -C references/otp log -1 origin/maint-29et les changements depuis le pin, en particulier la grammaire, le scanner, le préprocesseur et les entrées du corpus. - Avancer en fast-forward la branche locale propre :
git merge --ff-only origin/maint-29(première installation :git switch --create maint-29 --track origin/maint-29). Utiliser des octets de checkout en LF (core.autocrlf=false) pour que les sommes de contrôle correspondent sur chaque hôte ; sur un checkout Windows existant, ne normaliser que les fichiers texte listés dans le manifeste eterl_parse.yrl, et laisser inchangées les fixtures binaires amont. - Générer l'en-tête du compilateur à partir de la même révision (depuis la
racine du projet) :
perl references/otp/erts/emulator/utils/beam_makeops -compiler -outdir references/otp/lib/compiler/src references/otp/lib/compiler/src/genop.tab. Sous Windows, ne normaliser en LF que le fichier générébeam_opcodes.hrl. - Mettre à jour le pin et vérifier chaque chemin de
tests/fixtures/parser/phase6/otp.tsv. Ne rafraîchir les empreintes qu'après avoir examiné de vrais changements amont. Sierl_parse.yrlchange, examinertests/fixtures/parser/grammar.tsv, ses fixtures etphase6/coverage.tsv; chaque production ordinaire a besoin d'un témoin mesuré. - Configurer avec
CLAUSE_OTP_AUDITS=ONetCLAUSE_OTP_SOURCE_ROOTpointant vers le checkout. Exécuter les tests d'audit ettests/compiler/patternmatch/regenerate.py --corpus all --check. Consigner la révision et les résultats ci-dessous ; signaler toute dérive au lieu de régénérer pour la masquer.
Historique du pin
Les enregistrements historiques conservent la révision sur laquelle ils ont été faits.
| Date | Événement | Révision |
|---|---|---|
| 2026-09-19 | Validation du parseur contre le tag OTP 29.1 | 751f87b703fe5948607d08e82599ce644b772e76 |
| 2026-09-28 | Passage à maint-29 ; grammaire et dix fichiers du corpus identiques | 21776803ecd11f5fa948732c0ec66b8f325dedfc |
| 2026-10-01 – 10-03 | Récupéré à nouveau avant chaque étape motifs/guards ; inchangé | identique |
| 2026-10-03 | Plan 11 step 1 : 14 tests d'audit réussis, 19 corpus reproduits | identique |
Clause