116 lines
2.7 KiB
ReStructuredText
116 lines
2.7 KiB
ReStructuredText
**********************************************************************
|
|
Diff
|
|
**********************************************************************
|
|
|
|
.. contents::
|
|
|
|
A diff shows the changes between trees, an index or the working dir.
|
|
|
|
.. automethod:: pygit2.Repository.diff
|
|
|
|
Examples
|
|
|
|
.. code-block:: python
|
|
|
|
# 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]
|
|
|
|
# Get the stats for a diff
|
|
>>> diff = repo.diff('HEAD^', 'HEAD~3')
|
|
>>> diff.stats
|
|
|
|
# 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
|
|
====================
|
|
|
|
.. autoattribute:: pygit2.Diff.patch
|
|
.. method:: Diff.__iter__()
|
|
|
|
Returns an iterator over the deltas/patches in this diff.
|
|
|
|
.. method:: Diff.__len__()
|
|
|
|
Returns the number of deltas/patches in this diff.
|
|
|
|
.. automethod:: pygit2.Diff.merge
|
|
.. automethod:: pygit2.Diff.find_similar
|
|
|
|
|
|
The Patch type
|
|
====================
|
|
|
|
Attributes:
|
|
|
|
.. autoattribute:: pygit2.Patch.delta
|
|
.. autoattribute:: pygit2.Patch.hunks
|
|
.. autoattribute:: pygit2.Patch.line_stats
|
|
|
|
|
|
The DiffDelta type
|
|
====================
|
|
|
|
Attributes:
|
|
|
|
.. autoattribute:: pygit2.DiffDelta.old_file
|
|
.. autoattribute:: pygit2.DiffDelta.new_file
|
|
.. autoattribute:: pygit2.DiffDelta.status
|
|
.. autoattribute:: pygit2.DiffDelta.similarity
|
|
|
|
Getters:
|
|
|
|
.. autoattribute:: pygit2.DiffDelta.is_binary
|
|
|
|
|
|
The DiffFile type
|
|
====================
|
|
|
|
Attributes:
|
|
|
|
.. autoattribute:: pygit2.DiffFile.path
|
|
.. autoattribute:: pygit2.DiffFile.id
|
|
.. autoattribute:: pygit2.DiffFile.size
|
|
.. autoattribute:: pygit2.DiffFile.flags
|
|
.. autoattribute:: pygit2.DiffFile.mode
|
|
|
|
|
|
The DiffHunk type
|
|
====================
|
|
|
|
.. autoattribute:: pygit2.DiffHunk.old_start
|
|
.. autoattribute:: pygit2.DiffHunk.old_lines
|
|
.. autoattribute:: pygit2.DiffHunk.new_start
|
|
.. autoattribute:: pygit2.DiffHunk.new_lines
|
|
.. autoattribute:: pygit2.DiffHunk.lines
|
|
|
|
The DiffStats type
|
|
====================
|
|
|
|
.. autoattribute :: pygit2.DiffStats.insertions
|
|
.. autoattribute :: pygit2.DiffStats.deletions
|
|
.. autoattribute :: pygit2.DiffStats.files_changed
|
|
.. automethod :: pygit2.DiffStats.format
|
|
|
|
The DiffLine type
|
|
====================
|
|
|
|
.. autoattribute :: pygit2.DiffLine.origin
|
|
.. autoattribute :: pygit2.DiffLine.content
|
|
.. autoattribute :: pygit2.DiffLine.old_lineno
|
|
.. autoattribute :: pygit2.DiffLine.old_lineno
|
|
.. autoattribute :: pygit2.DiffLine.num_lines
|