Expand description
The pure half of rk integrate: the transaction’s judgments and the
evidence a local integration leaves behind.
This module spawns nothing. It decides what a branch name, a seat, a
pair of observed tips, and a stored ledger permit, and it renders and
parses the ledger. crate::commands::integrate is the half that runs
git and pre-commit.
The evidence is clone-local, under the common git directory, because a local integration is a fact about one checkout: the branch it names exists in that clone alone, the prune verbs that read it act in that clone alone, and a committed file would carry a per-checkout fact into every other clone. The common git directory rather than a worktree’s own is what makes one ledger serve every linked seat.
SATISFIES git:a-local-integration-is-a-transaction
Structs§
- Entry
- One local integration, as the prune verbs read it.
- Ledger
- Every local integration this clone recorded, newest last.
Enums§
- Trunk
State - How the local trunk stands against its remote.
Constants§
- LEDGER_
PATH - The ledger’s path below the common git directory.
Functions§
- refuse_
branch_ name - Why a branch name cannot be integrated, or
Nonewhere it can. - refuse_
moved_ trunk - Why the gate’s verdict blocks the integration, or
None. - refuse_
trunk_ state - Why a diverged trunk cannot be integrated onto.
- release_
intent - The release intent a Conventional Commit message states, as the phrase
a warning names it by, or
Nonefor a type that states none. - short
- The seven-character form a report shows.
- trunk_
state - Where the local trunk stands against the remote tip, if any.
- uncounted_
release - The warning for a release-intent message over a change the package’s listing does not reach: release-plz will neither list the commit nor count it toward a release.