Class FSMergerBySequence

java.lang.Object
org.tmatesoft.svn.core.internal.wc.FSMergerBySequence

public class FSMergerBySequence extends java.lang.Object
Version:
1.3
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final java.lang.String
     
    static final int
     
    private final byte[]
     
    private final byte[]
     
    private final byte[]
     
    private final byte[]
     
    static final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    FSMergerBySequence(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd)
     
    FSMergerBySequence(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd, byte[] originalMarker)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private int
    appendLines(java.io.OutputStream result, de.regnis.q.sequence.QSequenceDifferenceBlock block, de.regnis.q.sequence.line.QSequenceLineCache changedLines, int baseLineIndex, java.util.List transformedLocalLines)
     
    private void
    appendTransformedLocalLines(int baseLineIndex, int to, java.util.List transformedLocalLines, java.io.OutputStream result)
     
    private boolean
    checkConflict(FSMergerBySequenceList localChanges, FSMergerBySequenceList latestChanges, de.regnis.q.sequence.line.QSequenceLineCache localLines, de.regnis.q.sequence.line.QSequenceLineCache latestLines, int baseLineCount)
     
    private int
    createConflict(java.io.OutputStream result, de.regnis.q.sequence.QSequenceDifferenceBlock localStart, de.regnis.q.sequence.QSequenceDifferenceBlock localEnd, de.regnis.q.sequence.QSequenceDifferenceBlock latestStart, de.regnis.q.sequence.QSequenceDifferenceBlock latestEnd, de.regnis.q.sequence.line.QSequenceLineCache localLines, de.regnis.q.sequence.line.QSequenceLineCache latestLines, int baseLineIndex, java.util.List transformedLocalLines, SVNDiffConflictChoiceStyle style)
     
    private int
    createOnlyConflictWithContext(java.io.OutputStream result, de.regnis.q.sequence.QSequenceDifferenceBlock localStart, de.regnis.q.sequence.QSequenceDifferenceBlock localEnd, de.regnis.q.sequence.QSequenceDifferenceBlock latestStart, de.regnis.q.sequence.QSequenceDifferenceBlock latestEnd, de.regnis.q.sequence.line.QSequenceLineCache localLines, de.regnis.q.sequence.line.QSequenceLineCache latestLines, de.regnis.q.sequence.line.QSequenceLineCache baseLines)
     
    private de.regnis.q.sequence.line.simplifier.QSequenceLineTeeSimplifier
     
    private boolean
    intersect(de.regnis.q.sequence.QSequenceDifferenceBlock block1, de.regnis.q.sequence.QSequenceDifferenceBlock block2, int baseLineCount)
     
    private boolean
    isBefore(de.regnis.q.sequence.QSequenceDifferenceBlock block1, de.regnis.q.sequence.QSequenceDifferenceBlock block2)
     
    private boolean
    isEqualChange(de.regnis.q.sequence.QSequenceDifferenceBlock localBlock, de.regnis.q.sequence.QSequenceDifferenceBlock latestBlock, de.regnis.q.sequence.line.QSequenceLineCache localLines, de.regnis.q.sequence.line.QSequenceLineCache latestLines)
     
    int
    merge(de.regnis.q.sequence.line.QSequenceLineRAData baseData, de.regnis.q.sequence.line.QSequenceLineRAData localData, de.regnis.q.sequence.line.QSequenceLineRAData latestData, SVNDiffOptions options, java.io.OutputStream result, SVNDiffConflictChoiceStyle style)
     
    private java.util.List
    transformLocalLines(java.util.List blocks, de.regnis.q.sequence.line.QSequenceLineCache localLines)
     
    private void
    writeBytes(java.io.OutputStream os, byte[] bytes)
     
    private void
    writeBytesAndEol(java.io.OutputStream os, byte[] bytes)
     
    private void
    writeLine(java.io.OutputStream os, de.regnis.q.sequence.line.QSequenceLine line)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_EOL

      public static final java.lang.String DEFAULT_EOL
    • NOT_MODIFIED

      public static final int NOT_MODIFIED
      See Also:
    • MERGED

      public static final int MERGED
      See Also:
    • CONFLICTED

      public static final int CONFLICTED
      See Also:
    • myConflictStart

      private final byte[] myConflictStart
    • myConflictSeparator

      private final byte[] myConflictSeparator
    • myConflictEnd

      private final byte[] myConflictEnd
    • myOriginalMarker

      private final byte[] myOriginalMarker
  • Constructor Details

    • FSMergerBySequence

      public FSMergerBySequence(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd)
    • FSMergerBySequence

      public FSMergerBySequence(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd, byte[] originalMarker)
  • Method Details

    • merge

      public int merge(de.regnis.q.sequence.line.QSequenceLineRAData baseData, de.regnis.q.sequence.line.QSequenceLineRAData localData, de.regnis.q.sequence.line.QSequenceLineRAData latestData, SVNDiffOptions options, java.io.OutputStream result, SVNDiffConflictChoiceStyle style) throws java.io.IOException
      Throws:
      java.io.IOException
    • transformLocalLines

      private java.util.List transformLocalLines(java.util.List blocks, de.regnis.q.sequence.line.QSequenceLineCache localLines) throws java.io.IOException
      Throws:
      java.io.IOException
    • isBefore

      private boolean isBefore(de.regnis.q.sequence.QSequenceDifferenceBlock block1, de.regnis.q.sequence.QSequenceDifferenceBlock block2)
    • intersect

      private boolean intersect(de.regnis.q.sequence.QSequenceDifferenceBlock block1, de.regnis.q.sequence.QSequenceDifferenceBlock block2, int baseLineCount)
    • appendLines

      private int appendLines(java.io.OutputStream result, de.regnis.q.sequence.QSequenceDifferenceBlock block, de.regnis.q.sequence.line.QSequenceLineCache changedLines, int baseLineIndex, java.util.List transformedLocalLines) throws java.io.IOException
      Throws:
      java.io.IOException
    • isEqualChange

      private boolean isEqualChange(de.regnis.q.sequence.QSequenceDifferenceBlock localBlock, de.regnis.q.sequence.QSequenceDifferenceBlock latestBlock, de.regnis.q.sequence.line.QSequenceLineCache localLines, de.regnis.q.sequence.line.QSequenceLineCache latestLines) throws java.io.IOException
      Throws:
      java.io.IOException
    • checkConflict

      private boolean checkConflict(FSMergerBySequenceList localChanges, FSMergerBySequenceList latestChanges, de.regnis.q.sequence.line.QSequenceLineCache localLines, de.regnis.q.sequence.line.QSequenceLineCache latestLines, int baseLineCount) throws java.io.IOException
      Throws:
      java.io.IOException
    • createConflict

      private int createConflict(java.io.OutputStream result, de.regnis.q.sequence.QSequenceDifferenceBlock localStart, de.regnis.q.sequence.QSequenceDifferenceBlock localEnd, de.regnis.q.sequence.QSequenceDifferenceBlock latestStart, de.regnis.q.sequence.QSequenceDifferenceBlock latestEnd, de.regnis.q.sequence.line.QSequenceLineCache localLines, de.regnis.q.sequence.line.QSequenceLineCache latestLines, int baseLineIndex, java.util.List transformedLocalLines, SVNDiffConflictChoiceStyle style) throws java.io.IOException
      Throws:
      java.io.IOException
    • createOnlyConflictWithContext

      private int createOnlyConflictWithContext(java.io.OutputStream result, de.regnis.q.sequence.QSequenceDifferenceBlock localStart, de.regnis.q.sequence.QSequenceDifferenceBlock localEnd, de.regnis.q.sequence.QSequenceDifferenceBlock latestStart, de.regnis.q.sequence.QSequenceDifferenceBlock latestEnd, de.regnis.q.sequence.line.QSequenceLineCache localLines, de.regnis.q.sequence.line.QSequenceLineCache latestLines, de.regnis.q.sequence.line.QSequenceLineCache baseLines) throws java.io.IOException
      Throws:
      java.io.IOException
    • appendTransformedLocalLines

      private void appendTransformedLocalLines(int baseLineIndex, int to, java.util.List transformedLocalLines, java.io.OutputStream result) throws java.io.IOException
      Throws:
      java.io.IOException
    • writeLine

      private void writeLine(java.io.OutputStream os, de.regnis.q.sequence.line.QSequenceLine line) throws java.io.IOException
      Throws:
      java.io.IOException
    • writeBytesAndEol

      private void writeBytesAndEol(java.io.OutputStream os, byte[] bytes) throws java.io.IOException
      Throws:
      java.io.IOException
    • writeBytes

      private void writeBytes(java.io.OutputStream os, byte[] bytes) throws java.io.IOException
      Throws:
      java.io.IOException
    • createSimplifier

      private de.regnis.q.sequence.line.simplifier.QSequenceLineTeeSimplifier createSimplifier(SVNDiffOptions options)