1.8 KiB
1.8 KiB
Diff
A diff shows the changes between trees, an index or the working dir.
pygit2.Repository.diff
Examples
# Changes between commits
>>> t0 = revparse_single('HEAD')
>>> t1 = revparse_single('HEAD^')
>>> repo.diff(t0, t1)
>>> t0.diff(t1) # equivalent
>>> repo.diff('HEAD', 'HEAD^') # equivalent
# Get all patches for a diff
>>> diff = repo.diff('HEAD^', 'HEAD~3')
>>> patches = [p for p in diff]
# Diffing the empty tree
>>> tree = revparse_single('HEAD').tree
>>> tree.diff_to_tree()
# Diff empty tree to a tree
>>> tree = revparse_single('HEAD').tree
>>> tree.diff_to_tree(swap=True)
The Diff type
pygit2.Diff.patch
Diff.__len__()
Returns the number of deltas/patches in this diff.
pygit2.Diff.merge
pygit2.Diff.find_similar
The Patch type
Attributes:
pygit2.Patch.old_file_path
pygit2.Patch.new_file_path
pygit2.Patch.old_oid
pygit2.Patch.new_oid
pygit2.Patch.status
pygit2.Patch.similarity
pygit2.Patch.hunks
pygit2.Patch.additions
pygit2.Patch.deletions
Getters:
pygit2.Patch.is_binary
The Hunk type
pygit2.Hunk.old_start
pygit2.Hunk.old_lines
pygit2.Hunk.new_start
pygit2.Hunk.new_lines
pygit2.Hunk.lines