CommitStateBuilder

class dsviper.CommitStateBuilder

Bases: object

A utility class to build CommitState. Target Wins linearization is used. Note: Not directly instantiable.

static enabled_by_commit_id(commit_database: CommitDatabase, commit_id: ValueCommitId) dict[ValueCommitId, bool]

Return a dict[ValueCommitId, bool].

static initial_state(commit_database: CommitDatabase) CommitState

Return the initial state.

static merge_enabled_by_commit_id(commit_database: CommitDatabase, ours: ValueCommitId, theirs: ValueCommitId) dict[ValueCommitId, bool]

Return the enabled/disabled dict[ValueCommitId, bool] of the virtual merge of (ours, theirs), without persisting a merge commit.

static merge_state(commit_database: CommitDatabase, ours: ValueCommitId, theirs: ValueCommitId) CommitState

Return the computed merge state of (ours, theirs) without persisting a merge commit. Value-identical to state(merge_commit(ours, theirs)).

static state(commit_database: CommitDatabase, commit_id: ValueCommitId) CommitState

Return a new state for a commit.