チャプター ▾ 第2版

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

Dulwich

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

DulwichはGitの設計に従い、APIの2つの基本的なレベルである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'

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