![从 Launchpad 获取提交消息和差异](https://linux22.com/image/1123353/%E4%BB%8E%20Launchpad%20%E8%8E%B7%E5%8F%96%E6%8F%90%E4%BA%A4%E6%B6%88%E6%81%AF%E5%92%8C%E5%B7%AE%E5%BC%82.png)
是否可以在不克隆存储库的情况下获取 Launchpad 上项目的提交消息和相关差异(更改的文件内容)?我尝试使用 bzrlib,如下所示:
from bzrlib.branch import Branch
from bzrlib.plugin import load_plugins
load_plugins()
branch = Branch.open('lp:bzr')
revision_id = branch.last_revision()
revision = branch.repository.get_revision(revision_id)
# TODO: Get full commit message
tree = branch.repository.revision_tree(id)
# TODO: get only changes in this revision
launchpadlib 可以用于这个吗?
答案1
不,你不能使用启动板库为此。Launchpad API 不提供分支内容或历史记录的映射。
您可以通过以下方式获取特定修订集的差异库不过。这就是 Launchpad 为合并提案生成不同内容的方式。您无需克隆分支的本地副本即可读取它;库支持从远程分支读取。例如,运行bzr diff -c -1 lp:bzr
将为您提供提交到 lp:bzr 的最后修订版本的差异。
我不确定你到底想做什么,但如果没有直接需要使用库或者启动板库出于其他原因,您只需bzr diff
使用适当的参数运行即可获得所需的差异。