Launchpad에서 프로젝트의 모든 브랜치를 보는 bzr 명령이 있습니까?


10

런치 패드에서 프로젝트를 방문하면 프로젝트에 관련된 모든 개발자의 모든 활성 브랜치를 볼 수 있습니다.

bzr브라우저에서 Launchpad의 프로젝트 페이지를 방문하지 않고 동일한 작업을 수행 하는 명령이 있습니까?

답변:


12

나는 bzr이것을 하는 명령을 모른다 . 그러나 실제로 Launchpad 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


4

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
    
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.