web-dev-qa-db-fra.com

Existe-t-il une commande bzr permettant de voir toutes les branches d’un projet dans Launchpad?

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

Existe-t-il une commande bzr permettant de faire la même chose sans visiter la page du projet dans Launchpad dans un navigateur?

10
janos

Je ne connais aucune commande bzr qui effectue cette opération, mais il est en fait très facile de créer un script à l'aide de l'API Launchpad python _ . 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 deluge nous obtenons:

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 vous en remettre à cela et faire des choses comme trier par date_created, date_last_modified, ou créer votre propre heuristique pour les branches qui vous intéressent. Voir:

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

12
andrewsomething

Bazar est un système de contrôle de version pas plus que cela, projet complètement séparé de Launchpad .

Il est possible d'analyser directement la page HTML des branches du projet ou son fil de nouvelles Atom.

  1. Déclarer 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é des branches (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-

      supprimez "/ feed/entry/title =" des lignes de résultat.

  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
    
4
user.dz