Получите сообщение коммита и diff из Launchpad
Возможно ли получить сообщение фиксации и связанный diff (измененное содержимое файла) проекта на 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 ответ
Нет, вы не можете использовать launchpadlib для этого. API панели запуска не обеспечивает сопоставление содержимого или истории веток.
Вы можете получить diff для определенного набора ревизий через bzrlib. Вот как Launchpad генерирует содержимое diff для предложений по слиянию. Вам не нужно клонировать локальную копию ветви, чтобы прочитать ее; bzrlib поддерживает чтение из удаленных веток. Например бег bzr diff -c -1 lp:bzr даст вам отчет о последней ревизии, переданной в lp: bzr.
Я не уверен, что именно вы пытаетесь сделать, но если нет прямой необходимости использовать bzrlib или launchpadlib по другим причинам, вы можете просто запустить bzr diff с соответствующими аргументами, чтобы получить разницу, которую вы хотите.