¿Hay un comando bzr para ver todas las ramas de un proyecto en Launchpad?

10

Si visita un proyecto en Launchpad, puede ver todas las ramas activas de todos los desarrolladores involucrados en el proyecto.

¿Hay un bzrcomando para hacer lo mismo sin visitar la página del proyecto en Launchpad en un navegador?

janos
fuente

Respuestas:

12

No conozco ningún bzrcomando que haga esto, pero en realidad es muy fácil escribir usando la API de Python Launchpad . Por ejemplo:

#!/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"

Entonces con python find_branches.py deluge:

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

Puede funcionar salvaje con ella y hacer cosas como ordenar por date_created, date_last_modifiedo crear su propia heurística para lo ramas son interesantes para usted. Ver:

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

andrewsomething
fuente
4

Bazaar es un sistema de control de versiones que no es más que eso, un proyecto completamente separado de Launchpad .

Es posible analizar directamente la página HTML de las ramas del proyecto o su fuente de noticias Atom.

  1. Declarar una función de 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

      obtener noticias de sucursales (Atom xml)

    • xml2

      convertir documentos XML a un formato plano

    • grep "/feed/entry/title="

      filtrar líneas con "/ feed / entry / title =", nodos XML que contienen nombre de rama

    • cut -c 19-

      eliminar "/ feed / entry / title =" de las líneas de resultados.

  2. Ejemplo:

    $ 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
fuente