Esiste un comando bzr per vedere tutti i rami di un progetto su Launchpad?


10

Se visiti un progetto su Launchpad, puoi vedere tutti i rami attivi di tutti gli sviluppatori coinvolti nel progetto.

Esiste un bzrcomando per fare lo stesso senza visitare la pagina del progetto su Launchpad in un browser?

Risposte:


12

Non conosco alcun bzrcomando che lo faccia, ma in realtà è molto facile eseguire lo script usando l' API python di Launchpad . Per esempio:

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

Quindi con python find_branches.py delugeotteniamo:

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

È possibile eseguire selvaggio con esso e fare le cose come ordina per date_created, date_last_modifiedo creare il proprio euristica per quello rami sono interessa a te. Vedere:

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


4

Bazaar non è più un sistema di controllo della versione, progetto completamente separato da Launchpad .

È possibile analizzare direttamente la pagina HTML dei rami del progetto o il suo feed di notizie Atom.

  1. Dichiara una funzione 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

      ricevi news feed filiali (Atom xml)

    • xml2

      converti documento XML in un formato piatto

    • grep "/feed/entry/title="

      filtra le righe con "/ feed / entry / title =", nodi XML che contengono il nome del ramo

    • cut -c 19-

      rimuove "/ feed / entry / title =" dalle righe dei risultati.

  2. Esempio:

    $ 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
    
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.