Existe-t-il une commande bzr pour voir toutes les branches d'un projet sur Launchpad?

10

Si vous visitez un projet sur Launchpad, vous pouvez voir toutes les branches actives de tous les développeurs impliqués dans le projet.

Existe-t-il une bzrcommande pour faire de même sans visiter la page du projet sur Launchpad dans un navigateur?

janos
la source

Réponses:

12

Je ne connais aucune bzrcommande qui fasse cela, mais il est en fait très facile de créer un script à l'aide de l' API python Launchpad . Par exemple:

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

Donc avec python find_branches.py delugenous on obtient:

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

Vous pouvez courir sauvage avec elle et faire des choses comme par genre date_created, date_last_modifiedou créer votre propre heuristique pour quelles branches sont intéressantes pour vous. Voir:

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

andrewsomething
la source
4

Bazaar n'est plus un système de contrôle de version, un projet complètement séparé de Launchpad .

Il est possible d'analyser directement la page HTML des branches du projet ou son fil d'actualités Atom.

  1. Déclarez une fonction 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

      obtenir le fil d'actualités des succursales (Atom xml)

    • xml2

      convertir un document XML en un format plat

    • grep "/feed/entry/title="

      filtrer les lignes avec "/ feed / entry / title =", nœuds XML contenant le nom de la branche

    • cut -c 19-

      supprimer "/ feed / entry / title =" des lignes de résultats.

  2. Exemple:

    $ 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
la source