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.
Špatně umístěný worktree se přesune na svou kanonickou cestu se zachovanou změněnou, připravenou, nepřipravenou i nesledovanou prací, ověřeno otiskem pořízeným před přesunem a po něm, a krok se hlásí jako přesunutý, jen když se oba rovnají
majordomus worktree migrate přivede worktree na jeho kanonickou cestu přesně tak, jak je:
deklarovaný stav○deklarovaný stav: zaručenoDeklarová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ůkazy○zaznamenané důkazy: nespuštěnoDeklarová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
Plán nic nemění a před aplikací se přepočítá pod zámkem repozitáře. Git přesune adresář jedním přejmenováním; obyvatel kontejneru odejde na přípravnou cestu a pak dovnitř; přesun mezi souborovými systémy se odmítne, pokud není povolena kopie, a pak se ověří proti manifestu každé položky, než se odstraní originál. Nic se neresetuje, neodkládá do stashe, nečistí, nečekoutuje ani nepřepisuje: existující cíl je pojmenovaný konflikt, zamčený worktree čeká, odpojený se nikdy nepřesouvá a pracovní checkout relace se hlásí a přesouvá jen na požádání.
majordomus worktree migrate přesune worktree na jeho kanonickou cestu přesně tak, jak je: včetně upravených, stagovaných, nestagovaných a nesledovaných souborů, s nezměněnou branch a HEAD. Každý přesun se před a po otiskne a hlásí se jako přesunutý, jen když jsou oba otisky shodné.
migrate::plan vypíše každý špatně umístěný worktree s branchí, nejdřív obyvatele kontejneru, s tím, co každý blokuje. migrate::apply to přepočítá pod zámkem repozitáře a v každém kroku zachytí WorktreeFingerprint — branch, HEAD, index, staged diff, unstaged diff, každý nesledovaný soubor s hashem obsahu, každou ignorovanou položku podle přítomnosti — spustí git worktree move s absolutními cestami, zachytí otisk v cíli, zkontroluje, že git tam worktree registruje, a porovná. Obyvatel kontejneru jde na staging cestu a pak dovnitř; přesun přes souborové systémy se provádí kopií, git worktree repair, ověřením proti manifestu každé položky a teprve poté odstraněním originálu, a to jen s --allow-copy. Relativní odkazy, které se už nevyřeší, se pojmenují.
Zamčený worktree je blokován, dokud není odemčen; odpojený worktree nemá kanonickou cestu a nikdy se nepřesouvá; dočasný checkout relace se přesune jen s --include-ephemeral; existující cíl se nikdy nepřepíše. Otisk dosvědčuje ignorovaný obsah přítomností a velikostí, ne obsahem: pohybuje se s adresářem jako vše ostatní.
Špatně umístěný worktree se přesune na svou kanonickou cestu se zachovanou změněnou, připravenou, nepřipravenou i nesledovanou prací, ověřeno otiskem pořízeným před přesunem a po něm, a krok se hlásí jako přesunutý, jen když se oba rovnají