チャプター ▾ 第2版

A2.5 付録B: アプリケーションにGitを埋め込む - Dulwich

Dulwich

純粋なPython製のGit実装としてDulwichも存在します。このプロジェクトはhttps://www.dulwich.io/でホストされています。これは、Gitを直接呼び出すのではなく、純粋なPythonを使ってGitリポジトリ(ローカルとリモートの両方)へのインターフェースを提供することを目的としています。ただし、パフォーマンスを大幅に向上させるC拡張機能をオプションで備えています。

DulwichはGitのデザインに従い、PlumbingとPorcelainという2つの基本的なAPIレベルを区別しています。

以下は、低レベル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'

高レベルの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

さらに読む

Dulwichを使用した特定のタスクを実行する方法に関するAPIドキュメント、チュートリアル、および多くの例は、公式ウェブサイトhttps://www.dulwich.ioで入手できます。

scroll-to-top