Czy istnieje komenda bzr, aby wyświetlić wszystkie gałęzie projektu na Launchpad?

10

Jeśli odwiedzisz projekt na Launchpadzie, zobaczysz wszystkie aktywne gałęzie wszystkich programistów zaangażowanych w projekt.

Czy istnieje bzrpolecenie, aby zrobić to samo bez odwiedzania strony projektu na Launchpad w przeglądarce?

janos
źródło

Odpowiedzi:

12

Nie znam żadnego bzrpolecenia, które to robi, ale tak naprawdę bardzo łatwo jest napisać skrypt za pomocą API python Launchpad . Na przykład:

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

Dzięki temu python find_branches.py delugeotrzymujemy:

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

Można poszaleć z nim i robić takie rzeczy jak sortowanie wg date_created, date_last_modifiedlub stworzyć swój własny heurystyki na jakie gałęzie są interesujące dla ciebie. Widzieć:

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

andrews coś
źródło
4

Bazaar to nie tylko system kontroli wersji, całkowicie oddzielny projekt od Launchpada .

Możliwe jest bezpośrednie analizowanie strony HTML gałęzi projektu lub kanału informacyjnego Atom.

  1. Zadeklaruj funkcję powłoki:

    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

      pobierz aktualności z oddziałów (Atom xml)

    • xml2

      przekonwertować dokument XML na płaski format

    • grep "/feed/entry/title="

      odfiltruj wiersze za pomocą „/ feed / entry / title =”, węzłów XML zawierających nazwę gałęzi

    • cut -c 19-

      usuń „/ feed / entry / title =” z wierszy wyników.

  2. Przykład:

    $ 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
źródło