Gitility.Diff.File (Gitility v0.4.0)

Copy Markdown View Source

One changed file in a diff.

status follows Git's classification. For renames and copies, old_path/new_path differ and similarity is the match score in basis points of 100 (90 = 90% similar). Binary files carry binary: true and no hunks. At patch detail, a :type_changed record has exactly two hunks: a pure deletion of the old content followed by a pure insertion of the new content.

Summary

Types

status()

@type status() :: :added | :deleted | :modified | :renamed | :copied | :type_changed

t()

@type t() :: %Gitility.Diff.File{
  additions: non_neg_integer() | nil,
  binary: boolean(),
  deletions: non_neg_integer() | nil,
  hunks: [Gitility.Diff.Hunk.t()],
  new_mode: non_neg_integer() | nil,
  new_oid: Gitility.OID.t() | nil,
  new_path: binary() | nil,
  old_mode: non_neg_integer() | nil,
  old_oid: Gitility.OID.t() | nil,
  old_path: binary() | nil,
  similarity: 0..100 | nil,
  status: status()
}