Как напечатать содержимое объекта Pygit в Python
Я пытаюсь напечатать объект diff, как показано ниже. Я ожидаю вывод, похожий на git show, но я не получаю то же самое. Как мне этого добиться? Благодарю.
import pygit2
repo=pygit2.Repository('/home/repository')
t0=repo.revparse_single('HEAD')
t1=repo.revparse_single('HEAD^')
>>> repo.diff(t0,t1)
<_pygit2.Diff object at 0x7fc46eeb0470>
>>> out=repo.diff(t0,t1)
>>> print out
<_pygit2.Diff object at 0x7fc46eeb0410>
>>>
1 ответ
Решение
Давайте проверим документацию для pygit2
:
$ pydoc pygit2.Diff
| ----------------------------------
| Data descriptors defined here:
|
| patch
| Patch diff string.
Хорошо, давайте попробуем это:
>>> out=repo.diff(t0,t1)
>>> print out
<_pygit2.Diff object at 0x7fc46eeb0410>
>>> print out.patch
diff --git a/file1 b/file1
index 10952f3..66ed2b8 100644
--- a/file1
+++ b/file1
@@ -1,5 +1,6 @@
DIR_COLORS
DIR_COLORS.256color
+DIR_COLORS.lightbgcolor
GREP_COLORS
X11
adjtime
Кажется, работает.