Jika Anda mengunjungi proyek di Launchpad, Anda dapat melihat semua cabang aktif dari semua pengembang yang terlibat dalam proyek.
Apakah ada bzr
perintah untuk melakukan hal yang sama tanpa mengunjungi halaman proyek di Launchpad di browser?
Saya tidak tahu dari setiap bzr
perintah 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 deluge
kita 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:
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.
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.
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