public class FSMergerBySequence
extends java.lang.Object
Modifier and Type | Field and 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 and Description |
---|
FSMergerBySequence(byte[] conflictStart,
byte[] conflictSeparator,
byte[] conflictEnd) |
FSMergerBySequence(byte[] conflictStart,
byte[] conflictSeparator,
byte[] conflictEnd,
byte[] originalMarker) |
Modifier and Type | Method and 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) |
public static final java.lang.String DEFAULT_EOL
public static final int NOT_MODIFIED
public static final int MERGED
public static final int CONFLICTED
private final byte[] myConflictStart
private final byte[] myConflictSeparator
private final byte[] myConflictEnd
private final byte[] myOriginalMarker
public FSMergerBySequence(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd)
public FSMergerBySequence(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd, byte[] originalMarker)
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
java.io.IOException
private java.util.List transformLocalLines(java.util.List blocks, de.regnis.q.sequence.line.QSequenceLineCache localLines) throws java.io.IOException
java.io.IOException
private boolean isBefore(de.regnis.q.sequence.QSequenceDifferenceBlock block1, de.regnis.q.sequence.QSequenceDifferenceBlock block2)
private boolean intersect(de.regnis.q.sequence.QSequenceDifferenceBlock block1, de.regnis.q.sequence.QSequenceDifferenceBlock block2, int baseLineCount)
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
java.io.IOException
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
java.io.IOException
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
java.io.IOException
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
java.io.IOException
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
java.io.IOException
private void appendTransformedLocalLines(int baseLineIndex, int to, java.util.List transformedLocalLines, java.io.OutputStream result) throws java.io.IOException
java.io.IOException
private void writeLine(java.io.OutputStream os, de.regnis.q.sequence.line.QSequenceLine line) throws java.io.IOException
java.io.IOException
private void writeBytesAndEol(java.io.OutputStream os, byte[] bytes) throws java.io.IOException
java.io.IOException
private void writeBytes(java.io.OutputStream os, byte[] bytes) throws java.io.IOException
java.io.IOException
private de.regnis.q.sequence.line.simplifier.QSequenceLineTeeSimplifier createSimplifier(SVNDiffOptions options)