35
from bzrlib.commands import Command, Option, register_command
35
from bzrlib import bzrdir
36
from bzrlib.commands import (
36
41
from bzrlib.directory_service import directories
37
42
from bzrlib.errors import (
277
285
register_command(cmd_launchpad_mirror)
288
class cmd_lp_submit(Command):
289
"""Submit the specified branch to Launchpad for merging."""
291
takes_options = [Option('staging',
292
help='Propose the merge on staging.'),
293
Option('message', short_name='m', type=unicode,
294
help='Commit message.'),
295
ListOption('review', short_name='R', type=unicode,
296
help='Requested reviewer and optional type.')]
298
takes_args = ['submit_branch?']
300
def run(self, submit_branch=None, review=None, staging=False,
302
from bzrlib.plugins.launchpad import lp_submit
303
tree, branch, relpath = bzrdir.BzrDir.open_containing_tree_or_branch(
309
for review in review:
311
reviews.append(review.split('=', 2))
313
reviews.append((review, ''))
314
if submit_branch is None:
315
submit_branch = branch.get_submit_branch()
316
if submit_branch is None:
319
target = _mod_branch.Branch.open(submit_branch)
320
submitter = lp_submit.Submitter(tree, branch, target, message,
322
submitter.check_submission()
326
register_command(cmd_lp_submit)
280
329
def _register_directory():
281
330
directories.register_lazy('lp:', 'bzrlib.plugins.launchpad.lp_directory',
282
331
'LaunchpadDirectory',