42
class cmd_register_branch(Command):
43
__doc__ = """Register a branch with launchpad.net.
45
This command lists a brz branch in the directory of branches on
46
launchpad.net. Registration allows the branch to be associated with
47
bugs or specifications.
49
Before using this command you must register the project to which the
50
branch belongs, and create an account for yourself on launchpad.net.
53
public_url: The publicly visible url for the branch to register.
54
This must be an http or https url (which Launchpad can read
55
from to access the branch). Local file urls, SFTP urls, and
56
brz+ssh urls will not work.
57
If no public_url is provided, brz will use the configured
58
public_url if there is one for the current branch, and
62
brz register-branch http://foo.com/brz/fooproject.mine \\
65
takes_args = ['public_url?']
68
'Launchpad project short name to associate with the branch.',
71
'Launchpad product short name to associate with the branch.',
75
'Short name for the branch; '
76
'by default taken from the last component of the url.',
78
Option('branch-title',
79
'One-sentence description of the branch.',
81
Option('branch-description',
82
'Longer description of the purpose or contents of the branch.',
85
"Branch author's email address, if not yourself.",
88
'The bug this branch fixes.',
91
'Prepare the request but don\'t actually send it.')
101
branch_description='',
105
from .lp_registration import (
106
BranchRegistrationRequest, BranchBugLinkRequest,
107
DryRunLaunchpadService, LaunchpadService)
108
if public_url is None:
110
b = _mod_branch.Branch.open_containing('.')[0]
111
except NotBranchError:
112
raise BzrCommandError(gettext(
113
'register-branch requires a public '
114
'branch url - see brz help register-branch.'))
115
public_url = b.get_public_branch()
116
if public_url is None:
117
raise NoPublicBranch(b)
118
if product is not None:
121
'--product is deprecated; please use --project.'))
124
rego = BranchRegistrationRequest(branch_url=public_url,
125
branch_name=branch_name,
126
branch_title=branch_title,
127
branch_description=branch_description,
128
product_name=project,
131
linko = BranchBugLinkRequest(branch_url=public_url,
134
service = LaunchpadService()
135
# This gives back the xmlrpc url that can be used for future
136
# operations on the branch. It's not so useful to print to the
137
# user since they can't do anything with it from a web browser; it
138
# might be nice for the server to tell us about an html url as
141
# Run on service entirely in memory
142
service = DryRunLaunchpadService()
143
service.gather_user_credentials()
146
linko.submit(service)
147
self.outf.write('Branch registered.\n')
150
41
class cmd_launchpad_open(Command):
151
42
__doc__ = """Open a Launchpad branch page in your web browser."""