Clause
← Gesamte Dokumentation

Übersetzt aus dem englischen Original · 06042fa · 2026-10-09 · Auf Englisch lesen

Referenz auf den Erlang/OTP-Quelltext

Clause verfolgt den offiziellen Branch maint-29. Der geprüfte Pin liegt in references/otp-pin.cmake:

references/otp ist ein ignorierter Checkout. Normale Builds und Tests verwenden projekteigene Goldens und brauchen weder den Checkout noch ein installiertes OTP. Konfiguration und Tests holen oder bewegen die Referenz nie. Live-Audits sind optional mit -DCLAUSE_OTP_AUDITS=ON; siehe Neuerzeugung der Fixtures.

OTP-Quelltext, kopierte Hilfsprogramme und von OTP erzeugte Header gelangen nie in Git. Eingecheckte Testeingaben sind lokal verfasst; eingecheckte Goldens sind Beobachtungen dieser Eingaben. Siehe Validierung.

Ablauf der Aktualisierung

Zu Beginn von Arbeiten ausführen, die von OTP abhängen.

  1. git -C references/otp status --short prüfen und lokale Arbeit sichern. Holen: git -C references/otp fetch https://github.com/erlang/otp.git refs/heads/maint-29:refs/remotes/origin/maint-29. git -C references/otp log -1 origin/maint-29 und die Änderungen seit dem Pin prüfen, besonders Grammatik, Scanner, Präprozessor und Korpus-Eingaben.
  2. Den sauberen lokalen Branch vorspulen: git merge --ff-only origin/maint-29 (Ersteinrichtung: git switch --create maint-29 --track origin/maint-29). LF-Checkout-Bytes verwenden (core.autocrlf=false), damit Prüfsummen auf jedem Host übereinstimmen; in einem vorhandenen Windows-Checkout nur die im Manifest gelisteten Textdateien und erl_parse.yrl normalisieren und Binär-Fixtures von Upstream unverändert lassen.
  3. Den Compiler-Header aus derselben Revision erzeugen (aus dem Projektstamm): perl references/otp/erts/emulator/utils/beam_makeops -compiler -outdir references/otp/lib/compiler/src references/otp/lib/compiler/src/genop.tab. Unter Windows nur das erzeugte beam_opcodes.hrl auf LF normalisieren.
  4. Den Pin aktualisieren und jeden Pfad in tests/fixtures/parser/phase6/otp.tsv prüfen. Hashes erst nach Prüfung echter Upstream-Änderungen erneuern. Ändert sich erl_parse.yrl, tests/fixtures/parser/grammar.tsv, seine Fixtures und phase6/coverage.tsv prüfen; jede gewöhnliche Produktion braucht einen gemessenen Zeugen.
  5. Mit CLAUSE_OTP_AUDITS=ON und auf den Checkout gesetztem CLAUSE_OTP_SOURCE_ROOT konfigurieren. Die Audit-Tests und tests/compiler/patternmatch/regenerate.py --corpus all --check ausführen. Revision und Ergebnisse unten festhalten; Abweichungen melden, statt sie durch Neuerzeugung zu verdecken.

Pin-Historie

Historische Einträge behalten die Revision, gegen die sie entstanden sind.

DatumEreignisRevision
2026-09-19Parser-Validierung gegen das Tag OTP 29.1751f87b703fe5948607d08e82599ce644b772e76
2026-09-28Wechsel zu maint-29; Grammatik und zehn Korpusdateien identisch21776803ecd11f5fa948732c0ec66b8f325dedfc
2026-10-01 – 10-03Vor jedem Pattern-/Guard-Step neu geholt; unverändertdieselbe
2026-10-03Plan 11, step 1: 14 Audit-Tests bestehen, 19 Korpora reproduzierendieselbe