章节 ▾ 第二版

A2.5 附录 B:在你的应用中嵌入 Git - Dulwich

Dulwich

还有一个纯 Python 的 Git 实现 - Dulwich。该项目托管在 https://www.dulwich.io/。它的目标是提供一个 Git 仓库的接口(本地和远程),它不会直接调用 Git,而是使用纯 Python。它有一个可选的 C 扩展,可以显著提高性能。

Dulwich 遵循 Git 的设计,并将 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'

要使用高级命令 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