pub fn attune_cmd(
target: Option<&str>,
apply: bool,
record: bool,
record_ledger: bool,
record_reason: &str,
squash: bool,
from: Option<&str>,
publish: bool,
app: Option<&str>,
workspace: Option<PathBuf>,
) -> ExitCodeExpand description
djogi migrations attune entry point.
Mode selection (per CLI flags):
--record-ledger | --squash | resolved mode |
|---|---|---|
| false | false | AttuneMode::DiffOnly (read-only diff) |
| true | false | AttuneMode::Record |
| false | true | [AttuneMode::Squash { from, publish, app }] |
| true | true | rejected by clap (conflicts_with) |
| Argument semantics: |
targetis an optional positional Git target (commit / tag / branch). When supplied, attune resolves it (local first, fetch on miss) before any DB / disk mutation.applygates DB / disk mutation. Without it, every mode is a dry-run.recordcontrols the parent repo’s recorded submodule pointer (separate fromrecord_ledger, which controls thedjogi_schema_migrationsledger inserts).--squashrequires--from <ver>; an absentfromwhile--squashis set surfaces as a CLI error before any work happens.