pub fn plan(selection: &Selection) -> Result<Plan>Expand description
Plans a batch push, classifying every selected worktree against its upstream.
Contacts no remote, which is why it needs no git binary: the comparison is
against the local refs/remotes/<remote>/<branch>, the same ref
--force-with-lease leases against, so the plan and the lease agree by
construction. The returned Plan is exactly what a dry run reports; a real
run passes it to execute.
ยงErrors
Returns an error only when the selection itself cannot be resolved (e.g.
--all outside a repository). A single unusable path is reported as a
SkipReason, never an error, so one bad path cannot fail the whole batch.