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.

Cesta k worktree větve se odvozuje jen z identity gitu a názvu větve — sourozenec primárního checkoutu pojmenovaný s -wt, potom větev se zachovanou hierarchií — a z každého adresáře každého worktree je odpověď stejná, bez čehokoli registrovaného či konfigurovaného

Pro daný repozitář a název větve existuje právě jedna cesta pro worktree té větve's

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Identitou je společný adresář gitu a hlavní worktree, který git uvádí jako první, nikdy aktuální adresář, takže propojený worktree neodvozuje kontejner sám v sobě. Název větve se validuje referenčními pravidly gitu a odvozená cesta se při každém volání dokazuje, že zůstává pod kontejnerem. Každý registrovaný worktree dostane postavení a každá podmínka stabilní kód s nápravou; čtyři schopnosti worktree.* promítají stejnou typovanou topologii do MCP, HTTP, OpenAPI, Swagger UI a Cockpitu a pre-commit hook se ptá hlídače.

Co to znamená

Pro daný repozitář a název větve existuje právě jedna cesta k worktree této větve — <repo>-wt/<branch>, sourozenec primárního checkoutu pojmenovaný s -wt, pak součásti názvu větve jako adresáře — a každý povrch ji počítá stejně z vlastní identity gitu. Žádný soubor, sekce, tabulka ani seznam ji nezaznamenává a přidání větve nic neupravuje.

Princip

RepositoryIdentity::discover čte git rev-parse --git-common-dir a git worktree list --porcelain; první záznam je primární checkout, ať byl příkaz spuštěn v jakémkoli adresáři. path::container_root připojí příponu k jeho názvu; path::expected_path připojí validovaný název větve a dokáže, že výsledek zůstává striktně pod kontejnerem. WorktreeService::judge dává každému registrovanému worktree postavení — primární, kanonické, špatně umístěné, odpojené, efemérní, chybějící — a každé podmínce DiagnosticCode s nápravou. Čtyři schopnosti worktree.* promítají typované RepositoryTopology; příkazová řádka ho vykresluje; worktree guard rozhoduje pro pre-commit hook.

Jak to vidět

majordomus worktree path feature/providers/streaming   # <repo>-wt/feature/providers/streaming
cd "$(majordomus worktree root)"/feature/x && majordomus worktree root   # the same container
majordomus worktree topology --format json | jq .worktrees[].standing

Co nepokrývá

Git hook se obchází pomocí --no-verify a CI runner nevidí lokální adresáře přispěvatele: kontrola drží pohromadě mašinérii pravidla, ne souborový systém tohoto stroje. Holé repozitáře se odmítají jménem.

Proč existuje

Třiapadesát worktrees ve čtyřech podobách, jedenáct z nich špinavých, a žádná odpověď na „kde je branch X“, která by nezahrnovala hledání nebo vymýšlení. ADR 21 zaznamenává rozhodnutí.

Detail vykreslen z docs/claims/worktree-topology-derived.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Cesta k worktree větve se odvozuje jen z identity gitu a názvu větve — sourozenec primárního checkoutu pojmenovaný s -wt, potom větev se zachovanou hierarchií — a z každého adresáře každého worktree je odpověď stejná, bez čehokoli registrovaného či konfigurovaného

    Vytvořeno v Worktrees.

  2. 2 · kanonické tvrzení

    worktree-topology-deriveddeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si to na tomto webu · docs/WORKTREES.md

  3. 3 · implementace

    apps/majordomus-cli/src/worktree/path.rs

  4. 4 · test a scénáře

    Test: test/cases/96_worktree_topology.sh

    Provedeno v Práce na větvi v jediném worktree, do kterého patří.

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh 96_worktree_topology

Kde se toto tvrzení používá

Okamžiky, na které to odpovídá

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