Apakah ada perintah bzr untuk melihat semua cabang proyek di Launchpad?

10

Jika Anda mengunjungi proyek di Launchpad, Anda dapat melihat semua cabang aktif dari semua pengembang yang terlibat dalam proyek.

Apakah ada bzrperintah untuk melakukan hal yang sama tanpa mengunjungi halaman proyek di Launchpad di browser?

janos
sumber

Jawaban:

12

Saya tidak tahu dari setiap bzrperintah yang melakukan ini, tapi itu sebenarnya sangat mudah untuk skrip menggunakan Launchpad python API . Contohnya:

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

Jadi dengan python find_branches.py delugekita dapatkan:

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

Anda dapat menjalankan liar dengan itu dan melakukan hal-hal seperti semacam oleh date_created, date_last_modified, atau membuat heuristik Anda sendiri untuk apa cabang yang menarik untuk Anda. Lihat:

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

andrewsomething
sumber
4

Bazaar adalah sistem kontrol versi tidak lebih dari itu, benar-benar memisahkan proyek dari Launchpad .

Dimungkinkan untuk mengurai secara langsung halaman proyek cabang HTML atau umpan berita Atom-nya.

  1. Deklarasikan fungsi 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

      dapatkan feed berita cabang (Atom xml)

    • xml2

      konversi dokumen XML ke format datar

    • grep "/feed/entry/title="

      memfilter baris dengan "/ feed / entry / title =", node XML yang berisi nama cabang

    • cut -c 19-

      hapus "/ feed / entry / title =" dari baris hasil.

  2. Contoh:

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