Git
Chapters ▾ 2nd Edition

A2.5 Annexe B: Embarquer Git dans vos applications - Dulwich

Dulwich

Il existe aussi une implantation Git en Python pur - Dulwich. Le projet est hébergé sous https://www.dulwich.io/. Il vise à fournir une interface vers les dépôts Git (locaux et distant) qui n’appelle pas git directement mais n’utilise purement que Python. Il dispose d’extensions C optionnelles cependant, qui améliorent significativement les performances.

Dulwich suit le design Git et sépare deux niveaux principaux d’API : la plomberie et la porcelaine.

Voici un exemple d’utilisation de l’API bas niveau pour accéder au message de validation du dernier commit :

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

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

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

To print a commit log using high-level porcelain API, one can use:

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

Autres informations