public interface

Diff

implements PropertySupport
com.atlassian.stash.content.Diff

Summary

Public Methods
@Nullable Path getDestination()
Retrieves the path for the changed file.
@Nonnull List<DiffHunk> getHunks()
Retrieves a list containing zero or more hunks describing the changed lines within the file.
@Nullable Path getSource()
Retrieves the path for the file before it was changed.
boolean isBinary()
Retrieves a flag indicating whether the changed file is binary.
boolean isTruncated()
Retrieves a flag indicating whether the list of hunks had to be truncated.
[Expand]
Inherited Methods
From interface com.atlassian.stash.content.AttributeSupport
From interface com.atlassian.stash.property.PropertySupport

Public Methods

@Nullable public Path getDestination ()

Retrieves the path for the changed file.

This value has three categories:

  • The same as the source, indicating the file was modified in-place
  • Different from the getSource() source}, indicating the file was copied, moved or renamed, potentially with or without content changes
  • null, indicating the file was deleted

Note: While the destination and the source may each be null, they will never both be null.

Returns
  • the path to the file after the change

@Nonnull public List<DiffHunk> getHunks ()

Retrieves a list containing zero or more hunks describing the changed lines within the file. The list may be empty, but never null.

Returns
  • zero or more hunks describing changed lines

@Nullable public Path getSource ()

Retrieves the path for the file before it was changed.

This value has three categories:

  • The same as the destination, indicating the file was modified in-place
  • Different from the destination, indicating the file was copied, moved or renamed, potentially with or without content changes
  • null, indicating the file is new

Note: While the destination and the source may each be null, they will never both be null.

Returns
  • the path to the file before the change

public boolean isBinary ()

Retrieves a flag indicating whether the changed file is binary. Binary files cannot be diffed.

Note: When this flag is true, the hunks list will always be empty.

Returns
  • true if the changed file is binary, indicating there is no diff; otherwise, false

public boolean isTruncated ()

Retrieves a flag indicating whether the list of hunks had to be truncated.

To manage resource consumption, the system may impose a limit on the size of diffs it is willing to render. This flag is set to inform callers when such limits are exceeded. Diffs may be truncated at many different levels. Additional truncation flags exist for hunks, segments and lines, allowing callers to know exactly how the diff was truncated.

Note: If this flag is true but no hunks are truncated, it means at least one hunk was entirely omitted.

Returns
  • true if the diff was truncated, removing one or more