Struct git_topic_stage::Stager [−][src]
pub struct Stager { /* fields omitted */ }
Expand description
A manager for an integration branch.
This stores the state of a staging branch and the representative topics.
Implementations
Create a new stage from the given commit.
pub fn from_branch(
ctx: &GitContext,
base: CommitId,
stage: CommitId
) -> Result<Self, StagerError>
pub fn from_branch(
ctx: &GitContext,
base: CommitId,
stage: CommitId
) -> Result<Self, StagerError>
Create a new stage, discovering topics which have been merged into an integration branch.
This constructor takes a base branch and the name of the stage branch. It queries the given Git context for the history of the stage branch from the base and constructs its state from its first parent history.
If the stage does not exist, it is created with the base commit as its start.
Fails if the stage branch history does not appear to be a proper stage branch. A proper stage branch’s first parent history from the base consists only of merge commits with exactly two parents with required information in its commit message.
Returns the git context the stager uses for operations.
The topics which have been merged into the stage.
The a topic on the stage by its ID.
Find where a topic has been merged into the integration branch.
Remove a topic from the stage.
Add a topic branch to the stage.
If the branch already existed on the staging branch, it is first removed from the stage and then any topics which were merged after it are merged again, in order. The updated topic is then merged as the last operation.