Existe um comando bzr para ver todas as ramificações de um projeto no Launchpad?

10

Se você visitar um projeto no Launchpad, poderá ver todas as ramificações ativas de todos os desenvolvedores envolvidos no projeto.

Existe um bzrcomando para fazer o mesmo sem visitar a página do projeto no Launchpad em um navegador?

janos
fonte

Respostas:

12

Não conheço nenhum bzrcomando que faça isso, mas é realmente muito fácil criar scripts usando a API python do Launchpad . Por exemplo:

#!/usr/bin/env python
import os, sys
from launchpadlib.launchpad import Launchpad

cachedir = os.path.expanduser("~/.launchpadlib/cache/")
launchpad = Launchpad.login_anonymously('find_branches',
                                        'production',
                                        cachedir)

try:
    project = launchpad.projects[sys.argv[1]]
    for b in project.getBranches():
        if b.lifecycle_status not in ["Abandoned", "Merged"]:
            print b.bzr_identity
except KeyError:
    print "Project unknown... \nUsage: " + sys.argv[0] + " lp_project_name"

Então, com python find_branches.py delugenós temos:

lp:deluge
lp:~vcs-imports/deluge/trunk
lp:~mvoncken/deluge/ajax-template-dev
lp:~deluge-team/deluge/master
lp:~shaohao/deluge/0.9
lp:~damoxc/deluge/master

Você pode correr solta com ele e fazer coisas como ordenar por date_created, date_last_modifiedou criar o seu próprio heurística para o que ramos são interessantes para você. Vejo:

https://launchpad.net/+apidoc/1.0.html#branch

andrewsomething
fonte
4

O Bazaar é um sistema de controle de versão que não é mais do que um projeto completamente separado do Launchpad .

É possível analisar diretamente a página HTML das ramificações do projeto ou seu feed de notícias Atom.

  1. Declare uma função shell:

    lslp() {
        wget -q -O - http://feeds.launchpad.net/$1/branches.atom | xml2 | grep "/feed/entry/title=" | cut -c 19-;
    }
    
    • wget -q -O - http://feeds.launchpad.net/projectname/branches.atom

      obter feed de notícias das agências (Atom xml)

    • xml2

      converter documento XML para um formato simples

    • grep "/feed/entry/title="

      filtrar linhas com "/ feed / entry / title =", nós XML que contêm o nome da ramificação

    • cut -c 19-

      remova "/ feed / entry / title =" das linhas de resultado.

  2. Exemplo:

    $ lslp deluge
    lp:deluge
    lp:~vcs-imports/deluge/trunk
    lp:~damoxc/deluge/master
    lp:~deluge-team/deluge/master
    lp:~shaohao/deluge/0.9
    lp:~mvoncken/deluge/ajax-template-dev
    
user.dz
fonte