Obtenha commit message and diff a partir do Launchpad

0

É possível obter a mensagem de commit e o diff associado (conteúdo do arquivo alterado) de um projeto no Launchpad sem clonar o repositório? Eu tentei usar o bzrlib da seguinte forma:

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

O launchpadlib pode ser usado para isso?

    
por fwalch 16.12.2014 / 21:00

1 resposta

1

Não, você não pode usar launchpadlib para isso. A API do Launchpad não fornece um mapeamento para o conteúdo ou histórico da filial.

Você pode obter o diff para um conjunto específico de revisões via bzrlib . É assim que o Launchpad gera o conteúdo do diff para Merge Proposals. Você não precisa clonar uma cópia local do ramo para lê-lo; bzrlib suporta leitura de filiais remotas. Por exemplo, executar bzr diff -c -1 lp:bzr fornecerá um diff da última revisão confirmada para lp: bzr.

Não tenho certeza do que você está tentando fazer exatamente, mas se não houver necessidade direta de usar bzrlib ou launchpadlib por outros motivos, você pode simplesmente executar bzr diff com argumentos apropriados, para obter o diff que você deseja.

    
por dobey 16.12.2014 / 21:13