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.

I2464 — Cesta obsahující mezeru je pro doktrínu rozsahu jedna cesta

Číst soubory, kterých se úloha dotkla, jako jednu cestu na řádek, s výstupem git -z, všude, kde je shellová vrstva vypisuje, aby se název souboru obsahující mezeru posuzoval jako ta jedna cesta, kterou je.

HOTOVO vlna 0 · p1 · 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

Číst soubory, kterých se úloha dotkla, jako jednu cestu na řádek, s výstupem git -z, všude, kde je shellová vrstva vypisuje, aby se název souboru obsahující mezeru posuzoval jako ta jedna cesta, kterou je.

Proč

Dne 2026-10-11 pre-push relace 25 odmítl #931 kvůli čtyřem konceptovým obrázkům v jejím rozsahu, každý pojmenovaný jako \"Futuristic PR Drain Developer Dashboard.png\": lib/check.sh iteroval `for f in $(mj_git_touched ...)`, což dělí na bílých znacích, a mj_git_touched četl `git status --porcelain` bez -z, což takovou cestu obalí uvozovkami. Jeden obrázek se stal pěti „cestami“ mimo rozsah (\"assets/concept/Futuristic, PR, Drain, Developer, Dashboard.png\"). Relace soubory přejmenovala, aby prošla vlastní kontrolou. lib/context.sh, lib/changed.sh, lib/evidence.sh a lib/derive.sh čtou stejný uvozovkovaný výstup.

Aktuální stav

mj_git_touched a čtyři další čtečky berou `git status --porcelain` bez -z a dva volající jeho výstup dělí na slova; cesta s mezerou je odmítnuta jako několik cest mimo rozsah.

Cílový stav

mj_git_touched čte status a log s -z přes jednoho pomocníka, mj_git_dirty_paths, a každý volající čte řádky; případ 1073 drží commitnutou, připravenou, změněnou, nesledovanou a přejmenovanou cestu s mezerami uvnitř rozsahu a cestu mimo rozsah hlášenou celou.

Rozsah

  • lib/common.sh
  • lib/check.sh
  • lib/context.sh
  • lib/changed.sh
  • lib/evidence.sh
  • lib/derive.sh
  • test/cases/1073_a_path_with_a_space_is_one_path.sh
  • .ai/repo/project/issues/I2464.yaml

Závislosti

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

Kritéria přijetí

  • majordomus check projde úlohu, jejíž soubory v rozsahu obsahují mezery, commitnuté, staged, změněné, nesledované i přejmenované
  • cesta mimo rozsah s mezerou se hlásí jednou, celá, nikdy po kouscích ani v uvozovkách
  • případ 1073 selže proti masteru bez změny

Validace

  • bash test/run.sh 1073_a_path_with_a_space_is_one_path 04_start_check 108_scope_after_trunk_merge 108b_scope_after_trunk_fast_forward
  • bin/majordomus plan validate

Požadované důkazy

  • path_with_space_case

Důkazy

pokrývátypcommandvýsledeku commitu
path_with_space_casetestbash test/run.sh 1073_a_path_with_a_space_is_one_pathtesty: 1 prošel, 0 selhalo, 0 přeskočeno (běh 2026-10-14 před 07:36Z na master ce5959db59)ce5959d

Časová osa

zahájeno
2026-10-14T07:39:09Z
ověřeno
—
dokončeno
2026-10-14T07:39:18Z

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/I2464.yaml. Přečtěte ho zpět pomocí majordomus plan show I2464.

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