Command reference
oko blockers follow
Follows the commits every open blocker's resume condition names to main at once, so a rewrite of main does not leave a condition waiting for a commit no build of main can contain until each blocker is next checked.
Invocation#
oko blockers follow [--json]Inputs and options#
- Takes nothing but --json.
Output and state effect#
- Under the register's lock, each open blocker's `<repository>@<commit>` is followed as `oko blockers record` and `check` follow it: a commit main carries stays as written; one main carries as another commit with the same patch keeps the written id and gains `(main carries it as <repository>@<commit>)` beside it, and the blocker is written back. Prints `<id> followed: <condition>`, `<id> every commit it names is on main` or `<id> not followed: <cause>` per blocker, `no open blockers in <path>` when there are none; --json prints [{id, was, now, refused}].
- A blocker naming a commit main neither carries nor holds a copy of is kept as written and listed with that refusal, `the resume condition names <repository>@<commit>, which main neither carries nor holds the same patch of (<cause>), so it could never hold: name the commit main carries`; the others are still followed.
- Oko Desktop → Blockers offers the same as Follow commits to main, through the native API's blockers domain (action follow, answered as --json prints it), and lists the same line per blocker under the screen's actions; a refusal of the whole sweep shows in the screen's error banner.
Refusals and safe exits#
- `oko blockers follow does not take <flag>; …` (exit 2); a register that cannot be read or written, naming its path.