/breezy/unstable

To get this branch, use:
bzr branch https://code.breezy-vcs.org/breezy/unstable

« back to all changes in this revision

Viewing changes to breezy/plugins/launchpad/cmds.py

  • Committer: Jelmer Vernooij
  • Date: 2017-05-24 01:39:33 UTC
  • mfrom: (3815.3776.6)
  • Revision ID: jelmer@jelmer.uk-20170524013933-ir4y4tqtrsiz2ka2
New upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
from __future__ import absolute_import
20
20
 
21
 
from bzrlib import (
 
21
from ... import (
22
22
    branch as _mod_branch,
23
23
    controldir,
24
24
    trace,
25
25
    )
26
 
from bzrlib.commands import (
 
26
from ...commands import (
27
27
    Command,
28
28
    )
29
 
from bzrlib.errors import (
 
29
from ...errors import (
30
30
    BzrCommandError,
31
31
    InvalidURL,
32
32
    NoPublicBranch,
33
33
    NotBranchError,
34
34
    )
35
 
from bzrlib.i18n import gettext
36
 
from bzrlib.option import (
 
35
from ...i18n import gettext
 
36
from ...option import (
37
37
    Option,
38
38
    ListOption,
39
39
    )
42
42
class cmd_register_branch(Command):
43
43
    __doc__ = """Register a branch with launchpad.net.
44
44
 
45
 
    This command lists a bzr branch in the directory of branches on
 
45
    This command lists a brz branch in the directory of branches on
46
46
    launchpad.net.  Registration allows the branch to be associated with
47
47
    bugs or specifications.
48
48
 
53
53
        public_url: The publicly visible url for the branch to register.
54
54
                    This must be an http or https url (which Launchpad can read
55
55
                    from to access the branch). Local file urls, SFTP urls, and
56
 
                    bzr+ssh urls will not work.
57
 
                    If no public_url is provided, bzr will use the configured
 
56
                    brz+ssh urls will not work.
 
57
                    If no public_url is provided, brz will use the configured
58
58
                    public_url if there is one for the current branch, and
59
59
                    otherwise error.
60
60
 
61
61
    example:
62
 
        bzr register-branch http://foo.com/bzr/fooproject.mine \\
 
62
        brz register-branch http://foo.com/brz/fooproject.mine \\
63
63
                --project fooproject
64
64
    """
65
65
    takes_args = ['public_url?']
102
102
            author='',
103
103
            link_bug=None,
104
104
            dry_run=False):
105
 
        from bzrlib.plugins.launchpad.lp_registration import (
 
105
        from .lp_registration import (
106
106
            BranchRegistrationRequest, BranchBugLinkRequest,
107
107
            DryRunLaunchpadService, LaunchpadService)
108
108
        if public_url is None:
111
111
            except NotBranchError:
112
112
                raise BzrCommandError(gettext(
113
113
                            'register-branch requires a public '
114
 
                            'branch url - see bzr help register-branch.'))
 
114
                            'branch url - see brz help register-branch.'))
115
115
            public_url = b.get_public_branch()
116
116
            if public_url is None:
117
117
                raise NoPublicBranch(b)
173
173
            yield branch_url
174
174
 
175
175
    def _get_web_url(self, service, location):
176
 
        from bzrlib.plugins.launchpad.lp_registration import (
 
176
        from .lp_registration import (
177
177
            NotLaunchpadBranch)
178
178
        for branch_url in self._possible_locations(location):
179
179
            try:
183
183
        raise NotLaunchpadBranch(branch_url)
184
184
 
185
185
    def run(self, location=None, dry_run=False):
186
 
        from bzrlib.plugins.launchpad.lp_registration import (
 
186
        from .lp_registration import (
187
187
            LaunchpadService)
188
188
        if location is None:
189
189
            location = u'.'
191
191
        trace.note(gettext('Opening %s in web browser') % web_url)
192
192
        if not dry_run:
193
193
            import webbrowser   # this import should not be lazy
194
 
                                # otherwise bzr.exe lacks this module
 
194
                                # otherwise brz.exe lacks this module
195
195
            webbrowser.open(web_url)
196
196
 
197
197
 
205
205
    :Examples:
206
206
      Show the Launchpad ID of the current user::
207
207
 
208
 
          bzr launchpad-login
 
208
          brz launchpad-login
209
209
 
210
210
      Set the Launchpad ID of the current user to 'bob'::
211
211
 
212
 
          bzr launchpad-login bob
 
212
          brz launchpad-login bob
213
213
    """
214
214
    aliases = ['lp-login']
215
215
    takes_args = ['name?']
221
221
 
222
222
    def run(self, name=None, no_check=False, verbose=False):
223
223
        # This is totally separate from any launchpadlib login system.
224
 
        from bzrlib.plugins.launchpad import account
 
224
        from . import account
225
225
        check_account = not no_check
226
226
 
227
227
        if name is None:
257
257
    takes_args = ['location?']
258
258
 
259
259
    def run(self, location='.'):
260
 
        from bzrlib.plugins.launchpad import lp_api
261
 
        from bzrlib.plugins.launchpad.lp_registration import LaunchpadService
 
260
        from . import lp_api
 
261
        from .lp_registration import LaunchpadService
262
262
        branch, _ = _mod_branch.Branch.open_containing(location)
263
263
        service = LaunchpadService()
264
264
        launchpad = lp_api.login(service)
282
282
    The parameter the launchpad account name of the desired reviewer.  This
283
283
    may optionally be followed by '=' and the review type.  For example:
284
284
 
285
 
      bzr lp-propose-merge --review jrandom --review review-team=qa
 
285
      brz lp-propose-merge --review jrandom --review review-team=qa
286
286
 
287
287
    This will propose a merge,  request "jrandom" to perform a review of
288
288
    unspecified type, and request "review-team" to perform a "qa" review.
305
305
 
306
306
    def run(self, submit_branch=None, review=None, staging=False,
307
307
            message=None, approve=False, fixes=None):
308
 
        from bzrlib.plugins.launchpad import lp_propose
 
308
        from . import lp_propose
309
309
        tree, branch, relpath = controldir.ControlDir.open_containing_tree_or_branch(
310
310
            '.')
311
311
        if review is None:
343
343
 
344
344
    So, to find the merge proposal that reviewed line 1 of README::
345
345
 
346
 
      bzr lp-find-proposal -r mainline:annotate:README:1
 
346
      brz lp-find-proposal -r mainline:annotate:README:1
347
347
    """
348
348
 
349
349
    takes_options = ['revision']
350
350
 
351
351
    def run(self, revision=None):
352
 
        from bzrlib import ui
353
 
        from bzrlib.plugins.launchpad import lp_api
 
352
        from ... import ui
 
353
        from . import lp_api
354
354
        import webbrowser
355
355
        b = _mod_branch.Branch.open_containing('.')[0]
356
356
        pb = ui.ui_factory.nested_progress_bar()
371
371
            pb.finished()
372
372
 
373
373
    def _find_proposals(self, revision_id, pb):
374
 
        from bzrlib.plugins.launchpad import (lp_api, lp_registration)
 
374
        from . import (lp_api, lp_registration)
375
375
        # "devel" because branches.getMergeProposals is not part of 1.0 API.
376
376
        launchpad = lp_api.login(lp_registration.LaunchpadService(),
377
377
                                 version='devel')