rebase_start
Starts a rebase onto a given base, with safety checks, autosquash support, and optional automatic conflict resolution, reporting where it stops.
Instructions
Begin a rebase onto base, and report where it stops.
Refuses anything rebase_preflight called unsafe, unless force. Before
starting it tags the current tip, so the result can be checked against it,
and moves aside untracked files a replayed commit would collide with.
autosquash folds every fixup! and squash! in the range into the commit
its subject names, which is the workflow git commit --fixup sets up. It
cannot be combined with a todo, since it is a way of generating one.
check_command is run after every commit, which is the only thing that
catches a step that applies cleanly but leaves the tree broken.
auto_resolve composes conflicts where the two sides touched different
lines and carries on without stopping. Off by default: lines that do not
overlap can still contradict each other -- one side adding a call, the other
removing the helper it needs -- and a conflict resolved without being read
has to be reviewed afterwards anyway. Use it when replaying a branch whose
conflicts you already understand.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | ||
| repo | No | . | |
| todo | No | ||
| force | No | ||
| autosquash | No | ||
| auto_resolve | No | ||
| check_command | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| stashed | Yes | ||
| guidance | Yes | ||
| backup_ref | Yes |