Есть ли команда bzr, чтобы увидеть все ветви проекта на Launchpad?

Если вы посещаете проект на Launchpad, вы можете видеть все активные ветки всех разработчиков, вовлеченных в проект.

Существует ли команда bzr, которая делает то же самое, не посещая страницу проекта на панели запуска в браузере?

10
задан 21 December 2014 в 00:30

2 ответа

Я не знаю ни о ком bzr команда, которая делает это, но это на самом деле очень легко к сценарию с помощью Python Панели запуска API. Например:

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

Таким образом с python find_branches.py deluge мы добираемся:

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

Можно разрастись с ним и сделать вещи как вид date_created, date_last_modified, или создайте свою собственную эвристику для того, какие ответвления интересны Вам. См.:

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

12
ответ дан 21 December 2014 в 00:30

Bazaar - это система управления версиями, не более того, полностью отделенная от Launchpad .

Можно выполнить прямой анализ HTML-страницы веток проекта или ее ленты новостей Atom.

  1. Объявить функцию оболочки:

    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

      получить ветку новостей (Atom xml)

      [ 1128]
    • xml2

      преобразовать XML-документ в плоский формат

    • grep "/feed/entry/title="

      отфильтровать строки с помощью " / feed / entry / title = ", узлы XML, содержащие имя ветви

    • cut -c 19-

      удалить« / feed / entry / title = »из строк результата. [тысяча сто двадцать пять] [одна тысяча сто тридцать одна]

  2. Пример:

    $ 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
    
0
ответ дан 21 December 2014 в 00:30

Другие вопросы по тегам:

Похожие вопросы: