Interface Conflict


public interface Conflict
Describes two conflicting changes that were made on opposite sides of a merge.

When performing a merge, there an implicit third revision is used to produce a three-way merge. This third revision is the most recent shared ancestor between the two branches being merged. In the revisions on the incoming branch ("their" side) and destination branch ("our" side) after the common ancestor it is possible that the same files have been modified in different ways. When this happens, the resulting conflict consists of the change made on the destination branch ("our" change) and the change made on the incoming branch (getTheirChange() "their" change).

Because the conflicting changes only describe the changed paths and the type of change, it is possible for both changes to be the same. Such a case indicates that the same type of change was made differently to the same files. For example, the same file may be modified in different ways on both branches.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Retrieves "our" change, which describes the change that was made on the destination branch relative to a shared ancestor with the incoming branch.
    Retrieves "their" change, which describes the change that was made on the incoming branch relative to a shared ancestor with the destination branch.
  • Method Details

    • getOurChange

      @Nonnull ConflictChange getOurChange()
      Retrieves "our" change, which describes the change that was made on the destination branch relative to a shared ancestor with the incoming branch.
      Returns:
      the destination branch's change
    • getTheirChange

      @Nonnull ConflictChange getTheirChange()
      Retrieves "their" change, which describes the change that was made on the incoming branch relative to a shared ancestor with the destination branch.
      Returns:
      the incoming branch's change