Overview
shipd push exits 3 when the server returns 409 conflict. Nothing from that push was applied. This page explains each cause and how to fix it.
Causes
Every message is listed in Errors.
Fix a stale version
Start from what is live, then re-apply your edit.1
Save your edits
2
Pull
shipd.config.ts and src/generated/flags.ts are rewritten from the server. Comments are lost.3
Re-apply your edit
Compare with
git stash show -p and make your change again on top of the pulled file.4
Diff and push
Reconcile Go definitions
Pull rewritesshipd.config.go directly and regenerates accessors. After resolving a stale version, inspect the Go diff and then push. See Go definitions.
Fix a pending approval
Wait for a reviewer to approve or reject the open request in the dashboard, then push again. See Approvals.Fix an unsupported protected operation
The push mixed a definition change with a project that has an approval policy. Make the definition change in a way your policy allows, or ask an admin to adjust the policy. See Approval workflows.—force: last resort
--force skips the version check and writes your file over whatever changed on the server. Use it only after you have read the other change and decided to discard it.
- It is recorded in the audit log with the reason
Forced CAS override. - It does not bypass approval policies or pending requests. Those still exit
3or5. - It does not skip permission checks.