Deset verzí zpět

Díl 7 ze 9 — ./blog.sh v1.3

Engine nikdy neměl krok zpět. Úprava příspěvku přepsala jeho soubor a to, co příspěvek říkal před hodinou, bylo pryč – ne proto, že by se něco pokazilo, ale protože uložení je uložení.

Teď se předchozí text před každým přepsáním uchová a [v] ve vlastnostech příspěvku jeden vrátí.

Před každým přepsáním, ne jen před úpravou

Nový import je také přepsání, a to se ukazuje jako případ, kde si tohle vydělá na živobytí. Upravit příspěvek ručně je záměr; znovu naimportovat zdroj přes příspěvek, který jsi od té doby uklidil, je nehoda, která sní večer práce, a až dosud byla jedinou záchranou záloha.

Deset na příspěvek, nejnovější první.

Vybraná poznáním, ne čtením času

Seznam je takový, jakým procházíš každý jiný seznam v průvodci, a řádek pod kurzorem ukazuje, co ta verze říkala – její titulek, nebo úvodní slova, když žádný nemá. Deset časových údajů ti neřekne nic o tom, která je ta verze, kterou chceš. Deset úvodních vět ti to řekne okamžitě.

Potvrzení je jeden stisk klávesy, a může být tak levné, protože obnovení nic neztratí: současný text se před nahrazením uchová jako vlastní verze. Špatná volba je jedno [v] od toho, aby se vrátila.

Co nepokrývá

Jen text. Obrázky se neverzují a řádek nad seznamem to říká, místo aby tě nechal na to přijít. Obnovení vrátí slova a obrázky jsou to, co adresář médií příspěvku drží teď.

Deset. Jedenácté uložení vytlačí nejstarší. To je rozhodnutí o disku, ne o bezpečnosti – ale přineslo chybu, kterou stojí za to pojmenovat: deset nových importů, které nic nezměnily, dřív zaplnilo všech deset míst a potichu vytlačilo ručně upravený stav, který verze mají chránit. Verze shodná s nejnovější uloženou se už nezapisuje.

Uložení vždy vyhrává. Když se do adresáře verzí nedá zapsat – plný disk, špatná oprávnění – kopie se přeskočí a uložení přesto projde, potichu. To je záměr a zvolil bych ho znovu: smyslem tohohle je ztrácet méně, a odmítnout něčí uložení proto, že se nepodařilo založit krok zpět, by ztratilo víc. Znamená to, že krok zpět je zdvořilost, ne záruka, což je rozdíl mezi ním a zálohou.

Bydlí s obsahem. content.nosync/versions/, vedle příspěvků. Cestují s příspěvkem do koše a zase ven, a obnova ze zálohy, která kopírovala jen posts/, vrátí archiv a ztratí krok zpět. Seznam zálohy v dokumentaci říká, na kterých cestách záleží; tohle je na něm nový řádek.

Klávesa se objeví, když je co obnovit

Příspěvek, který nikdy nebyl upraven, [v] neukazuje, protože krok zpět, za kterým nic není, je klávesa, která tě učí klávesám nevěřit.

Komentáře