Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I2849 — release next vychází z trunku, který repozitář pojmenovává, nikdy z názvu branch zapsaného v nástroji

Když `majordomus release next` (schopnost release.next) nedostane --base, změří přistání proti remote-tracking refu trunku, který tento repozitář jmenuje, jediným pravidlem, které už používá zpráva o dodání (delivery::revision::trunk_ref), a odmítne jménem, když trunk nelze určit.

HOTOVO vlna 0 · p0 · profil implementation · bezpečné souběžně

Součást adopter-upgrades — Adoptující repozitář přežije upgrade Majordomu a to, co do něj nástroj vendoruje, je neutrální vůči adoptujícímu.

Cíl

Když `majordomus release next` (schopnost release.next) nedostane --base, změří přistání proti remote-tracking refu trunku, který tento repozitář jmenuje, jediným pravidlem, které už používá zpráva o dodání (delivery::revision::trunk_ref), a odmítne jménem, když trunk nelze určit.

Proč

Nalezeno kódovým truth-sweepem masteru 707a04c7ce8 dne 2026-10-17: výchozí hodnota --base byla doslovné `origin/master` na dvou místech (default_value v cli.rs a unwrap_or v NextInput::base), zatímco worktree::identity::detect_trunk uvádí, že trunk se nikdy nezadrátovává. V adoptujícím repozitáři, jehož trunk je `main`, příkaz odmítl nebo odpovídal o refu, který není jeho trunkem. Role release ho určila jako P0 pro v1.0.0-alpha.1.

Aktuální stav

--base je na příkazové řádce i ve vstupu schopnosti ve výchozím stavu `origin/master`.

Cílový stav

--base je na každém povrchu volitelný; když chybí, release.next ho vyřeší pomocí delivery::revision::trunk_ref (výchozí větev vzdáleného repozitáře, jinak trunk identity, jinak jediná sledovací větev), a repozitář, kde se nevyřeší žádná, je odmítnut s důvodem a nápravou (pojmenujte ji pomocí --base).

Rozsah

  • apps/majordomus-cli/src/capability/builtin/release.rs
  • apps/majordomus-cli/src/commands/release.rs
  • apps/majordomus-cli/src/cli.rs

Mimo rozsah

  • Ostatní místa, kde je název trunku psán jako literál: naplánováno jako I2843 (jeden accessor plus ratchet sken).

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • V klonu, jehož výchozí větev na remote je main, release.next bez base zvedá z origin/main
  • Pojmenovaná základna se použije tak, jak je pojmenována
  • Repozitář, jehož trunk nelze určit, je odmítnut s uvedením --base

Validace

  • bin/majordomus plan validate
  • cargo test --lib -- capability::builtin::release:: commands::release::
  • MJ_TEST_JOBS=4 bash test/run.sh 1060_the_version_is_allocated_at_landing

Požadované důkazy

  • unnamed_base_is_the_trunk_test

Důkazy

pokrývátypcommandvýsledeku commitu
unnamed_base_is_the_trunk_testcivalidate run 39192952944 at master dd4c0a87cba: rust (1-3) runs cargo test --lib, including capability::builtin::release::an_unnamed_base_is_the_trunk_the_repository_names and a_landing_whose_trunk_cannot_be_told_is_refused; bash test/run.sh 1060_the_version_is_allocated_at_landing locallysuccess; case 1060: 3 passed, 0 failed, 0 skipped on master dd4c0a87cbadd4c0a8

Časová osa

zahájeno
2026-10-19T15:29:31Z
ověřeno
—
dokončeno
2026-10-19T15:29:52Z

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I2849.yaml. Přečtěte jej zpět pomocí majordomus plan show I2849.

Prohledává názvy a popisy všech stránek, které tento web publikuje.