org.eclipse.jgit.diff.Sequence
objects. These sequences have one common predecessor sequence. The result of
a merge is a list of MergeChunks. Each MergeChunk contains either a range (a
subsequence) from one of the merged sequences, a range from the common
predecessor or a conflicting range from one of the merged sequences. A
conflict will be reported as multiple chunks, one for each conflicting range.
The first chunk for a conflict is marked specially to distinguish the border
between two consecutive conflicts.
This class does not know anything about how to present the merge result to the end-user. MergeFormatters have to be used to construct something human readable.
| Modifier and Type | Field and Description |
|---|---|
| pack-priv final IntList | |
| private boolean | |
| private final List | |
| pack-priv static final MergeChunk. |
| Access | Constructor and Description |
|---|---|
| public | MergeResult(List<S>
contains the common predecessor sequence at position 0
followed by the merged sequences. This list should not be
modified anymore during the lifetime of this
sequences)org..Creates a new empty MergeResult |
| Modifier and Type | Method and Description |
|---|---|
| public void | add(int
determines from which sequence this range comes. An index of
x specifies the x+1 element in the list of sequences
specified to the constructor srcIdx, int the first element from the specified sequence which should be
included in the merge result. Indexes start with 0. begin, int specifies the end of the range to be added. The element this
index points to is the first element which not added to the
merge result. All elements between begin (including begin) and
this element are added. end, MergeChunk.when set to NO_CONLICT a non-conflicting range is added.
This will end implicitly all open conflicts added before. conflictStateAdds a new range from one of the merged sequences or from the common predecessor. |
| public boolean | Returns: true if this merge result contains conflictsWhether this merge result contains conflicts |
| public List | Returns: the common predecessor at position 0 followed by the merged sequences.Returns the common predecessor sequence and the merged sequence in one list. |
| public Iterator | |
| protected void | setContainsConflicts(boolean
whether this merge should be seen as containing a conflict or
not. containsConflicts)Sets explicitly whether this merge should be seen as containing a conflict or not. |
| chunks | back to summary |
|---|---|
| pack-priv final IntList chunks | |
| containsConflicts | back to summary |
|---|---|
| private boolean containsConflicts | |
| sequences | back to summary |
|---|---|
| private final List<S> sequences | |
| states | back to summary |
|---|---|
| pack-priv static final MergeChunk. | |
| MergeResult | back to summary |
|---|---|
| public MergeResult(List<S> sequences) Creates a new empty MergeResult
| |
| add | back to summary |
|---|---|
| public void add(int srcIdx, int begin, int end, MergeChunk. Adds a new range from one of the merged sequences or from the common predecessor. This method can add conflicting and non-conflicting ranges controlled by the conflictState parameter
| |
| containsConflicts | back to summary |
|---|---|
| public boolean containsConflicts() Whether this merge result contains conflicts
| |
| getSequences | back to summary |
|---|---|
| public List Returns the common predecessor sequence and the merged sequence in one list. The common predecessor is the first element in the list
| |
| iterator | back to summary |
|---|---|
| public Iterator Implements java. Doc from java. Returns an iterator over elements of type
| |
| setContainsConflicts | back to summary |
|---|---|
| protected void setContainsConflicts(boolean containsConflicts) Sets explicitly whether this merge should be seen as containing a conflict or not. Needed because during RecursiveMerger we want to do content-merges and take the resulting content (even with conflict markers!) as new conflict-free content
| |