# Package org.eclipse.jgit.merge

Content and commit history merge algorithms.

Class Summary
MergeAlgorithm: Provides the merge algorithm which does a three-way merge on content provided as RawText.
MergeChunk: One chunk from a merge result.
MergeConfig: Holds configuration for merging into a given branch
MergeFormatter: A class to convert merge results into a Git conformant textual presentation
MergeMessageFormatter: Formatter for constructing the commit message for a merge commit.
Merger: Instance of a specific `MergeStrategy` for a single `Repository`.
MergeResult<S extends Sequence>: The result of merging a number of `Sequence` objects.
MergeStrategy: A method of combining two or more trees together to form an output tree.
RecursiveMerger: A three-way merger performing a content-merge if necessary across multiple bases using recursion This merger extends the resolve merger and does several things differently: - allow more than one merge base, up to a maximum - uses "Lists" instead of Arrays for chained types - recursively merges the merge bases together to compute a usable base
ResolveMerger: A three-way merger performing a content-merge if necessary
SquashMessageFormatter: Formatter for constructing the commit message for a squashed commit.
StrategyOneSided: Trivial merge strategy to make the resulting tree exactly match an input.
StrategyRecursive: A three-way merge strategy performing a content-merge if necessary
StrategyResolve: A three-way merge strategy performing a content-merge if necessary
StrategySimpleTwoWayInCore: Merges two commits together in-memory, ignoring any working directory.
ThreeWayMerger: A merge of 2 trees, using a common base ancestor tree.
ThreeWayMergeStrategy: A merge strategy to merge 2 trees, using a common base ancestor tree.

Enum Summary
MergeChunk.ConflictState: A state telling whether a MergeChunk belongs to a conflict or not.
ResolveMerger.MergeFailureReason: If the merge fails (means: not stopped because of unresolved conflicts) this enum is used to explain why it failed