Gibt es einen bzr-Befehl, um alle Zweige eines Projekts auf Launchpad anzuzeigen?

10

Wenn Sie ein Projekt auf Launchpad besuchen, können Sie alle aktiven Zweige aller am Projekt beteiligten Entwickler sehen.

Gibt es einen bzrBefehl, um dasselbe zu tun, ohne die Projektseite auf Launchpad in einem Browser zu besuchen?

Janos
quelle

Antworten:

12

Ich kenne keinen bzrBefehl, der dies tut, aber es ist tatsächlich sehr einfach, Skripte mit der Launchpad-Python-API zu erstellen . Zum Beispiel:

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

Also mit python find_branches.py delugebekommen wir:

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

Sie können mit ihm freien Lauf lassen und Dinge tun , wie Sortierung date_created, date_last_modifiedoder eigene heuristische schaffen für das, was Zweige für Sie interessant sind. Sehen:

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

andrewsomething
quelle
4

Bazaar ist ein Versionskontrollsystem, das nicht mehr als das ist und das Projekt vollständig von Launchpad trennt .

Es ist möglich, die HTML-Seite der Projektzweige oder den Atom-Newsfeed direkt zu analysieren.

  1. Deklarieren Sie eine Shell-Funktion:

    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

      Holen Sie sich Filialen Newsfeed (Atom xml)

    • xml2

      XML-Dokument in ein flaches Format konvertieren

    • grep "/feed/entry/title="

      Filtern Sie Zeilen mit "/ feed / entry / title =" heraus, XML-Knoten, die den Zweignamen enthalten

    • cut -c 19-

      Entfernen Sie "/ feed / entry / title =" aus den Ergebniszeilen.

  2. Beispiel:

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