CommitMergeAnalysis

class dsviper.CommitMergeAnalysis

Bases: object

The result of a 3-way merge analysis: the merge base and the list of reconstructed conflicts between the two branches.

Note: Not directly instantiable.

base() ValueCommitId | None

Return the structural merge base commit identifier, or None when the analysis fell back to a base-free 2-way scan.

conflicts() list[CommitMergeConflict]

Return all conflicts flattened across documents.

documents() list[CommitMergeDocument]

Return the list of CommitMergeDocument — the conflicts grouped per document (attachment, key), the unit reconcile operates on.

has_conflicts() bool

Return True if the merge has at least one conflict.

merge_commit() ValueCommitId

Return the merge commit identifier this analysis read.

ours() ValueCommitId

Return the parent (ours) commit identifier.

theirs() ValueCommitId

Return the target (theirs) commit identifier.

two_way() bool

Return True when no unambiguous structural base existed and detection fell back to a base-free 2-way divergence scan.