Clause
← All dokumentation

Översatt från det engelska originalet · 06042fa · 2026-10-09 · Läs på engelska

Referens till Erlang/OTP-källkoden

Clause följer den officiella grenen maint-29. Den granskade låsta revisionen (pin) finns i references/otp-pin.cmake:

references/otp är en ignorerad utcheckning. Vanliga byggen och tester använder referensresultat som ägs av projektet och behöver varken utcheckningen eller en installerad OTP. Konfiguration och tester hämtar eller flyttar aldrig fram referensen. Levande granskningar aktiveras uttryckligen med -DCLAUSE_OTP_AUDITS=ON; se återskapande av fixturer.

OTP-källkod, kopierade hjälpfiler och headers genererade av OTP kommer aldrig in i Git. Incheckade testindata är skrivna lokalt; incheckade referensresultat är observationer av dessa indata. Se validering.

Uppdateringsprocedur

Körs i början av arbete som beror på OTP.

  1. Kontrollera git -C references/otp status --short och bevara lokalt arbete. Hämta: git -C references/otp fetch https://github.com/erlang/otp.git refs/heads/maint-29:refs/remotes/origin/maint-29. Granska git -C references/otp log -1 origin/maint-29 och ändringar sedan den låsta revisionen, särskilt grammatik, scanner, preprocessor och korpusindata.
  2. Snabbspola den rena lokala grenen: git merge --ff-only origin/maint-29 (första uppsättning: git switch --create maint-29 --track origin/maint-29). Använd LF i utcheckade bytes (core.autocrlf=false) så att kontrollsummor stämmer på varje värd; i en befintlig utcheckning på Windows normaliseras endast textfiler som listas i manifestet och erl_parse.yrl, och uppströms binära fixturer lämnas oförändrade.
  3. Generera kompilatorns header från samma revision (från projektroten): perl references/otp/erts/emulator/utils/beam_makeops -compiler -outdir references/otp/lib/compiler/src references/otp/lib/compiler/src/genop.tab. På Windows normaliseras endast den genererade beam_opcodes.hrl till LF.
  4. Uppdatera den låsta revisionen och verifiera varje sökväg i tests/fixtures/parser/phase6/otp.tsv. Uppdatera hashvärden först efter att ha granskat verkliga uppströmsändringar. Om erl_parse.yrl ändras, granska tests/fixtures/parser/grammar.tsv, dess fixturer och phase6/coverage.tsv; varje vanlig produktion behöver ett uppmätt belägg.
  5. Konfigurera med CLAUSE_OTP_AUDITS=ON och CLAUSE_OTP_SOURCE_ROOT satt till utcheckningen. Kör granskningstesterna och tests/compiler/patternmatch/regenerate.py --corpus all --check. Notera revisionen och utfallen nedan; rapportera avvikelser i stället för att återskapa för att dölja dem.

Historik för låst revision

Historiska poster behåller den revision de gjordes mot.

DatumHändelseRevision
2026-09-19Parservalidering mot OTP 29.1-taggen751f87b703fe5948607d08e82599ce644b772e76
2026-09-28Bytte till maint-29; grammatik och tio korpusfiler identiska21776803ecd11f5fa948732c0ec66b8f325dedfc
2026-10-01 – 10-03Hämtad på nytt före varje step för mönster/guards; oförändradsamma
2026-10-03Plan 11 step 1: 14 granskningstester godkända, 19 korpusar reproducerassamma