Git
Chapters ▾ 2nd Edition

A2.5 Appendix B: Вграждане на Git в приложения - Dulwich

Dulwich

Съществува и Git имплементация за Python - Dulwich. Проектът се хоства на адрес https://www.dulwich.io/ Целта му е да предостави интерфейс за достъп до git хранилища (локални и отдалечени), който не се обръща към git директно, а вместо това използва чист Python. Той също съдържа и опционални C разширения, които значително подобряват производителността.

Dulwich следва дизайна на git и разделя двете базови API: plumbing и porcelain.

Ето пример за използване на API от по-ниско ниво за достъп до съобщението на последния къмит:

from dulwich.repo import Repo
r = Repo('.')
r.head()
# '57fbe010446356833a6ad1600059d80b1e731e15'

c = r[r.head()]
c
# <Commit 015fc1267258458901a94d228e39f0a378370466>

c.message
# 'Add note about encoding.\n'

За да отпечатате commit log чрез porcelain API-то от по-високо ниво, може да използвате:

from dulwich import porcelain
porcelain.log('.', max_entries=1)

#commit: 57fbe010446356833a6ad1600059d80b1e731e15
#Author: Jelmer Vernooij <jelmer@jelmer.uk>
#Date:   Sat Apr 29 2017 23:57:34 +0000

Допълнителна информация