Referencia de los fuentes de Erlang/OTP
Clause sigue la rama oficial maint-29. La fijación (pin) revisada está en
references/otp-pin.cmake:
- Revisión
21776803ecd11f5fa948732c0ec66b8f325dedfc(commit upstream con fecha 2026-09-22), confirmada sin cambios por última vez el 2026-10-03. - Oráculo instalado usado para los goldens y las auditorías: OTP 29.1.1 / ERTS 17.1.
references/otp es un checkout ignorado. Las compilaciones y pruebas normales
usan goldens propios del proyecto y no necesitan ni el checkout ni un OTP
instalado. La configuración y las pruebas nunca descargan ni avanzan la
referencia. Las auditorías en vivo son opcionales con
-DCLAUSE_OTP_AUDITS=ON; véase
regeneración de fixtures.
Los fuentes de OTP, los helpers copiados y las cabeceras generadas por OTP nunca entran en Git. Las entradas de prueba confirmadas en el repositorio son de autoría local; los goldens confirmados son observaciones de esas entradas. Véase validación.
Procedimiento de actualización
Se ejecuta al comienzo de cualquier trabajo que dependa de OTP.
- Comprobar
git -C references/otp status --shorty conservar el trabajo local. Descargar:git -C references/otp fetch https://github.com/erlang/otp.git refs/heads/maint-29:refs/remotes/origin/maint-29. Revisargit -C references/otp log -1 origin/maint-29y los cambios desde la fijación, sobre todo en la gramática, el escáner, el preprocesador y las entradas del corpus. - Avanzar (fast-forward) la rama local limpia:
git merge --ff-only origin/maint-29(primera configuración:git switch --create maint-29 --track origin/maint-29). Usar bytes de checkout LF (core.autocrlf=false) para que las sumas de comprobación coincidan en todos los equipos; en un checkout existente de Windows, normalizar solo los archivos de texto listados en el manifiesto yerl_parse.yrl, y dejar sin cambios los fixtures binarios de upstream. - Generar la cabecera del compilador a partir de la misma revisión (desde la
raíz del proyecto):
perl references/otp/erts/emulator/utils/beam_makeops -compiler -outdir references/otp/lib/compiler/src references/otp/lib/compiler/src/genop.tab. En Windows, normalizar a LF solo elbeam_opcodes.hrlgenerado. - Actualizar la fijación y verificar cada ruta de
tests/fixtures/parser/phase6/otp.tsv. Actualizar los hashes solo tras revisar cambios reales de upstream. Si cambiaerl_parse.yrl, revisartests/fixtures/parser/grammar.tsv, sus fixtures yphase6/coverage.tsv; cada producción ordinaria necesita un testigo medido. - Configurar con
CLAUSE_OTP_AUDITS=ONy conCLAUSE_OTP_SOURCE_ROOTapuntando al checkout. Ejecutar las pruebas de auditoría ytests/compiler/patternmatch/regenerate.py --corpus all --check. Anotar la revisión y los resultados más abajo; informar de las divergencias en lugar de regenerar para ocultarlas.
Historial de fijaciones
Los registros históricos conservan la revisión con la que se hicieron.
| Fecha | Evento | Revisión |
|---|---|---|
| 2026-09-19 | Validación del parser frente a la etiqueta OTP 29.1 | 751f87b703fe5948607d08e82599ce644b772e76 |
| 2026-09-28 | Cambio a maint-29; gramática y diez archivos del corpus idénticos | 21776803ecd11f5fa948732c0ec66b8f325dedfc |
| 2026-10-01 – 10-03 | Descargada de nuevo antes de cada paso de patrones/guards; sin cambios | la misma |
| 2026-10-03 | Plan 11 step 1: pasan 14 pruebas de auditoría, se reproducen 19 corpus | la misma |
Clause