Git
目次 ▾ 第2版

付録B: アプリケーションへのGitの埋め込み - Dulwich

Dulwich

純粋な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

さらに読む

APIドキュメント、チュートリアル、Dulwichで特定のタスクを実行する方法の多くの例は、公式ウェブサイトhttps://www.dulwich.ioでご覧いただけます。

scroll-to-top