Enum Class ConflictMarker

java.lang.Object
java.lang.Enum<ConflictMarker>
com.atlassian.bitbucket.content.ConflictMarker
All Implemented Interfaces:
Serializable, Comparable<ConflictMarker>, Constable

public enum ConflictMarker extends Enum<ConflictMarker>
Used to mark diff lines which represent a merge conflict. Lines which are streamed via a callback will be similarly marked.

Conflicts are a natural possibility when merging pull requests. They are not expected to appear in normal commit diffs, as it is assumed conflicts were resolved before the changes were committed to the repository. The system will never introduce merge commits which include conflicts into a repository when merging a pull request; the merge attempt will throw an exception instead. Such conflicts will only be shown when PullRequestService.streamDiff(PullRequestDiffRequest, DiffContentCallback) streaming the diff} for a pull request.

  • Enum Constant Details

    • MARKER

      public static final ConflictMarker MARKER
      Indicates the line is a conflict marker.

      Conflict markers come in three types:

      • <<<<<<<: Signals the beginning of our lines
      • =======: Signals the end of our lines and the beginning of theirs
      • >>>>>>>: Signals the end of their lines
      The markers will always appear in the diff in the above order, and if any marker is seen all three will always be seen (unless the segment is truncated).
    • OURS

      public static final ConflictMarker OURS
      Indicates the line comes from our version of the file. This is the version that is already on the branch to which the changes are being merged.

      Note: Our lines always appear as context lines, because they are in the file already. As they are context, how many appear in the diff is dependent on the amount of context being shown. That means it is possible that some number of our lines will be omitted, if the markers bound a set of lines greater than the amount of context being shown. If any lines are omitted, it will cause our lines to be split into two separate hunks (and, implicitly, into two segments as well).

    • THEIRS

      public static final ConflictMarker THEIRS
      Indicates the line comes from their version of the file. This is the version that is being merged into the branch.

      Note: Their lines always appear as added lines. Because they will never be context lines, they will all always appear in the diff, in a single segment (unless the segment is truncated).

  • Method Details

    • values

      public static ConflictMarker[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ConflictMarker valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null