mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 21:43:23 -05:00
Recaling refs while the pin stays put produces exactly the state the all-or-nothing rule exists to prevent: a profile whose refs describe one revision and whose source_commit names another. The tool manufactured it on mariani, where three prose runs it could not rewrite kept bump_commit refusing while eleven refs had already moved. Asking for both writes is now atomic. The work happens on a copy, which is promoted only when the pin follows, and a rebase is refused outright when something visible beforehand will hold the pin: an annotated ref, one under a mode key, or a prose run whose tokens cannot be located well enough to rewrite. Where the block only appears after the write, the copy is discarded and the profile is named on stderr rather than left half moved. mariani is back on its pin and stays at four refs to read, which is honest: three of them have to be rewritten by hand before anything can advance.