Rev 5252: Permit looking up without creating branches on launchpad. in http://bazaar.launchpad.net/~lifeless/bzr/fetch-proposed
Robert Collins
robertc at robertcollins.net
Sun May 23 12:15:13 BST 2010
At http://bazaar.launchpad.net/~lifeless/bzr/fetch-proposed
------------------------------------------------------------
revno: 5252
revision-id: robertc at robertcollins.net-20100523111511-z4jsjf3jyxqzqefb
parent: robertc at robertcollins.net-20100522100045-gf2bcx5lkxpxvt2m
committer: Robert Collins <robertc at robertcollins.net>
branch nick: fetch-proposed
timestamp: Sun 2010-05-23 23:15:11 +1200
message:
Permit looking up without creating branches on launchpad.
=== modified file 'bzrlib/plugins/launchpad/lp_api.py'
--- a/bzrlib/plugins/launchpad/lp_api.py 2010-05-22 09:44:47 +0000
+++ b/bzrlib/plugins/launchpad/lp_api.py 2010-05-23 11:15:11 +0000
@@ -196,17 +196,30 @@
'bazaar.staging.launchpad.net')
@classmethod
- def from_bzr(cls, launchpad, bzr_branch):
- """Find a Launchpad branch from a bzr branch."""
- check_update = True
+ def find_from_bzr(cls, launchpad, bzr_branch):
+ """Find a Launchpad branch from a bzr branch.
+
+ :return: A launchpadlib branch object, or None.
+ :raises BzrError: When the branch has no launchpad urls known to it.
+ """
for url in cls.candidate_urls(bzr_branch):
url = cls.tweak_url(url, launchpad)
if not cls.plausible_launchpad_url(url):
continue
lp_branch = launchpad.branches.getByUrl(url=url)
if lp_branch is not None:
- break
- else:
+ return lp_branch
+
+ @classmethod
+ def from_bzr(cls, launchpad, bzr_branch):
+ """Find a Launchpad branch from a bzr branch.
+
+ If the branch claims to be pushed to Launchpad but launchpad does not
+ know about it, create a Launchpad object for it.
+ """
+ check_update = True
+ lp_branch = cls.find_from_bzr(launchpad, bzr_branch)
+ if lp_branch is None:
lp_branch = cls.create_now(launchpad, bzr_branch)
check_update = False
return cls(lp_branch, bzr_branch.base, bzr_branch, check_update)
More information about the bazaar-commits
mailing list