Class MergeAlgorithm

java.lang.Object
org.eclipse.jgit.merge.MergeAlgorithm

public final class MergeAlgorithm extends Object
Provides the merge algorithm which does a three-way merge on content provided as RawText. By default HistogramDiff is used as diff algorithm.
  • Field Details

  • Constructor Details

    • MergeAlgorithm

      public MergeAlgorithm()
      Creates a new MergeAlgorithm which uses HistogramDiff as diff algorithm
    • MergeAlgorithm

      public MergeAlgorithm(DiffAlgorithm diff)
      Creates a new MergeAlgorithm
      Parameters:
      diff - the diff algorithm used by this merge
  • Method Details

    • getContentMergeStrategy

      @NonNull public ContentMergeStrategy getContentMergeStrategy()
      Retrieves the ContentMergeStrategy.
      Returns:
      the ContentMergeStrategy in effect
      Since:
      5.12
    • setContentMergeStrategy

      public void setContentMergeStrategy(ContentMergeStrategy strategy)
      Parameters:
      strategy - ContentMergeStrategy to set; if null, set ContentMergeStrategy.CONFLICT
      Since:
      5.12
    • isEndEdit

      private static boolean isEndEdit(Edit edit)
    • merge

      public <S extends Sequence> MergeResult<S> merge(SequenceComparator<S> cmp, S base, S ours, S theirs)
      Does the three way merge between a common base and two sequences.
      Parameters:
      cmp - comparison method for this execution.
      base - the common base sequence
      ours - the first sequence to be merged
      theirs - the second sequence to be merged
      Returns:
      the resulting content
    • nextEdit

      private static Edit nextEdit(Iterator<Edit> it)
      Helper method which returns the next Edit for an Iterator over Edits. When there are no more edits left this method will return the constant END_EDIT.
      Parameters:
      it - the iterator for which the next edit should be returned
      Returns:
      the next edit from the iterator or END_EDIT if there no more edits