Existe um comando bzr para ver todos os ramos 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 comando bzr para fazer o mesmo sem visitar a página do projeto no Launchpad em um navegador?

    
por janos 28.02.2013 / 23:09

2 respostas

12

Eu não sei de nenhum comando bzr que faça isso, mas na verdade é 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"

Portanto, com python find_branches.py deluge , obtemos:

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 executar com ele e fazer coisas como classificar por date_created , date_last_modified ou criar sua própria heurística para quais ramificações são interessantes para você. Veja:

link

    
por andrewsomething 02.03.2013 / 00:41
4
O Bazaar é um sistema de controle de versão que não é mais do que um projeto completamente separado de Launchpad .

É possível analisar diretamente a página HTML dos ramos do projeto ou seu feed de notícias Atom.

  1. Declare uma função de shell:

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

      obtenha o feed de notícias das filiais (Atom xml)

    • xml2

      converta o documento XML em um formato simples

    • grep "/feed/entry/title="

      filtre as 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
    
por user.dz 23.12.2014 / 21:53