Class FileDiffOutput

java.lang.Object
com.google.gerrit.server.patch.filediff.FileDiffOutput
All Implemented Interfaces:
Serializable

public abstract class FileDiffOutput extends Object implements Serializable
File diff for a single file path. Produced as output of the FileDiffCache.
See Also:
  • Constructor Details

    • FileDiffOutput

      public FileDiffOutput()
  • Method Details

    • oldCommitId

      public abstract org.eclipse.jgit.lib.ObjectId oldCommitId()
      The 20 bytes SHA-1 object ID of the old git commit used in the diff, or ObjectId.zeroId() if newCommitId() was a root commit.
    • newCommitId

      public abstract org.eclipse.jgit.lib.ObjectId newCommitId()
      The 20 bytes SHA-1 object ID of the new git commit used in the diff.
    • comparisonType

      public abstract ComparisonType comparisonType()
      Comparison type of old and new commits: against another patchset, parent or auto-merge.
    • oldPath

      public abstract Optional<String> oldPath()
      The file path at the old commit. Returns an empty Optional if changeType() is equal to Patch.ChangeType.ADDED.
    • newPath

      public abstract Optional<String> newPath()
      The file path at the new commit. Returns an empty optional if changeType() is equal to Patch.ChangeType.DELETED.
    • getDefaultPath

      public String getDefaultPath()
    • oldMode

      public abstract Optional<Patch.FileMode> oldMode()
      The file mode of the old file at the old git tree diff identified by oldCommitId() ()}.
    • newMode

      public abstract Optional<Patch.FileMode> newMode()
      The file mode of the new file at the new git tree diff identified by newCommitId() ()}.
    • changeType

      public abstract Patch.ChangeType changeType()
      The change type of the underlying file, e.g. added, deleted, renamed, etc...
    • patchType

      public abstract Optional<Patch.PatchType> patchType()
      The patch type of the underlying file, e.g. unified, binary , etc...
    • headerLines

      public abstract com.google.common.collect.ImmutableList<String> headerLines()
      A list of strings representation of the header lines of the FileHeader that is produced as output of the diff.
    • edits

      public abstract com.google.common.collect.ImmutableList<TaggedEdit> edits()
      The list of edits resulting from the diff hunks of the file.
    • size

      public abstract long size()
      The file size at the new commit.
    • sizeDelta

      public abstract long sizeDelta()
      Difference in file size between the old and new commits.
    • negative

      public abstract Optional<Boolean> negative()
      Returns true if the diff computation was not able to compute a diff, i.e. for diffs taking a very long time to compute. We cache negative result in this case.
    • toBuilder

      public abstract FileDiffOutput.Builder toBuilder()
    • allEditsDueToRebase

      public boolean allEditsDueToRebase()
      A boolean indicating if all underlying edits of the file diff are due to rebase.
    • insertions

      public int insertions()
      Returns the number of inserted lines for the file diff.
    • deletions

      public int deletions()
      Returns the number of deleted lines for the file diff.
    • empty

      public static FileDiffOutput empty(String filePath, org.eclipse.jgit.lib.ObjectId oldCommitId, org.eclipse.jgit.lib.ObjectId newCommitId)
      Returns an entity representing an unchanged file between two commits.
    • createNegative

      public static FileDiffOutput createNegative(String filePath, org.eclipse.jgit.lib.ObjectId oldCommitId, org.eclipse.jgit.lib.ObjectId newCommitId)
      Create a negative file diff. We use this to cache negative diffs for entries that result in timeouts.
    • isEmpty

      public boolean isEmpty()
      Returns true if this entity represents an unchanged file between two commits.
    • isNegative

      public boolean isNegative()
      Returns true if the diff computation was not able to compute a diff. We cache negative result in this case.
    • builder

      public static FileDiffOutput.Builder builder()
    • weight

      public int weight()