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 int
CONFLICTED
static java.lang.String
DEFAULT_EOL
static int
MERGED
private byte[]
myConflictEnd
private byte[]
myConflictSeparator
private byte[]
myConflictStart
private byte[]
myOriginalMarker
static int
NOT_MODIFIED
-
Constructor Summary
Constructors Constructor Description FSMergerBySequence(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd)
FSMergerBySequence(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd, byte[] originalMarker)
-
Method Summary
All Methods Instance Methods Concrete Methods 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
createSimplifier(SVNDiffOptions options)
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)
-
-
-
Field Detail
-
DEFAULT_EOL
public static final java.lang.String DEFAULT_EOL
-
NOT_MODIFIED
public static final int NOT_MODIFIED
- See Also:
- Constant Field Values
-
MERGED
public static final int MERGED
- See Also:
- Constant Field Values
-
CONFLICTED
public static final int CONFLICTED
- See Also:
- Constant Field Values
-
myConflictStart
private final byte[] myConflictStart
-
myConflictSeparator
private final byte[] myConflictSeparator
-
myConflictEnd
private final byte[] myConflictEnd
-
myOriginalMarker
private final byte[] myOriginalMarker
-
-
Method Detail
-
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)
-
-