saphan absorb
Merges the branch a stream will land on into the stream's own branch, so the stream catches up with its base before it is merged.
Merges the branch a stream will land on into the stream's own branch, so the stream catches up with its base before it is merged. Both branches must exist locally in the stream's repository; a remote-tracking branch is never used, and on success the stream's branch moves to the new merge commit. It is the reverse direction of saphan merge, and the step a merge refused for conflicts points you to. It resolves nothing for you: alongside any conflicts it lists the changed paths git did not flag but that you should read, and it refuses to hand-resolve a generated file, naming the generator that rebuilds it instead. When every conflicting path is a generated file whose header names a go generate command, it regenerates them itself and lands the result only if two generator passes agree, no conflict marker remains and the merged tree builds; otherwise it lands nothing.
The absorption is not reported as settled until the checks have been run against the merged commit and the stream's return names the new tip; run the same command again afterwards to take that reading. Rehearse it with saphan dry-run absorb, which computes the same conflicts and findings and moves nothing.
Global options apply to every command — see Every command.
Reading the CLI's output
What a person, an agent and a script each get from a saphan command, where the full detail goes, and how the owner-presence prompt waits.
saphan accept
Records the owner's acceptance at a stream's final stop (STOP-2, after the work is proven) and then merges the stream, as one decision behind one confirmation.