Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 1.56 KB

dulwich.asc

File metadata and controls

47 lines (35 loc) · 1.56 KB

Dulwich

Er is ook een zuivere Python Git implementatie - Dulwich. Het project wordt gehost onder https://www.dulwich.io/ Het doel van het project is om een interface naar git repositories te bieden (zowel lokaal als remote) die geen directe git aanroepen doet, maar daarentegen puur Python gebruikt. Het heeft echter een optionele C-extensie, die de prestaties behoorlijk versnelt.

Dulwich volgt het git ontwerp en maakt een scheiding tussen twee basisniveaus wat APIs betreft: binnenwerk en koetswerk (plumbing en porcelain).

Hier is een voorbeeld hoe een lager niveau API te gebruiken om toegang tot het commit-bericht van de laatste commit te benaderen:

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

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

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

Om een commit-log af te drukken gebruikmakend van de API van het hogere niveau (porcelein), kan men het volgende doen:

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

#commit: 57fbe010446356833a6ad1600059d80b1e731e15
#Author: Jelmer Vernooij <[email protected]>
#Date:   Sat Apr 29 2017 23:57:34 +0000

Meer weten