web-dev-qa-db-ja.com

Launchpadでプロジェクトのすべてのブランチを表示するbzrコマンドはありますか?

Launchpadのプロジェクトにアクセスすると、プロジェクトに関係するすべての開発者のアクティブなブランチがすべて表示されます。

ブラウザでLaunchpadのプロジェクトのページにアクセスせずに同じことを行うbzrコマンドはありますか?

10
janos

これを行うbzrコマンドは知りませんが、実際には Launchpad python AP​​I を使用してスクリプトを作成するのは非常に簡単です。例えば:

#!/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_createddate_last_modifiedでソートしたり、興味のあるブランチについて独自のヒューリスティックを作成したりできます。見る:

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

12
andrewsomething

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)

    • 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
    
4
user.dz