PromoteReport
Result of Repo.apply_promote.
Usage
PromoteReport(
fast_forwarded=dict(),
merged=dict(),
skipped=list(),
refused=dict(),
held=dict(),
conflicts=dict(),
kept_forks=dict(),
trunk_moved=None,
trunk_held=None,
plan=None
)Parameter Attributes
fast_forwarded: dict[str, State] = dict()-
Key -> the base branch’s new state after a fast-forward.
merged: dict[str, State] = dict()-
Key -> the base branch’s new state after a native merge.
skipped: list[str] = list()-
Keys whose base already matched the target, or that had nothing to promote.
refused: dict[str, str] = dict()-
Key -> why tether would not move the base (with the system’s own recipe).
held: dict[str, str] = dict()-
Key -> what would have happened: a fast-forward or merge not performed because another object was refused and no keys were named. A bookmark is planned whole or not at all; the plan is the atomic unit – once applying, each system’s fast-forward stands on its own (see the caveats).
conflicts: dict[str, list[str]] = dict()-
Key -> conflicting units reported by a merge that was rolled back.
kept_forks: dict[str, str] = dict()-
Key -> why the working branch was not reset onto a merge result: it gained writes between the plan and the merge, and those are never discarded; commit them and promote again.
trunk_moved: str | None = None-
The commit the trunk bookmark now points at, when every promoted object fast-forwarded and nothing was refused: the bookmark’s commit describes what the upstream branches now hold, so
mainis set to it. trunk_held: str | None = None-
Why the trunk bookmark was left where it is although the data landed: it gained commits since the plan, and it is never moved backwards.
plan: Plan | None = None