/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/plugins/propose/gitlabs.py

  • Committer: Jelmer Vernooij
  • Date: 2020-03-07 14:46:08 UTC
  • mfrom: (7490.3.7 work)
  • mto: This revision was merged to the branch mainline in revision 7497.
  • Revision ID: jelmer@jelmer.uk-20200307144608-3yx04ocg1lb5mqk4
Merge brz/3.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Support for GitLab."""
18
18
 
19
 
from __future__ import absolute_import
20
 
 
21
19
import json
22
20
import os
23
21
import time
30
28
    urlutils,
31
29
    )
32
30
from ...git.urls import git_url_to_bzr_url
33
 
from ...sixish import PY3
34
31
from ...trace import mutter
35
32
from ...transport import get_transport
36
33
 
100
97
        self.error = error
101
98
 
102
99
 
103
 
class MergeRequestExists(Exception):
104
 
    """Raised when a merge requests already exists."""
105
 
 
106
 
 
107
100
def default_config_path():
108
101
    return os.path.join(bedding.config_dir(), 'gitlab.conf')
109
102
 
265
258
 
266
259
 
267
260
def gitlab_url_to_bzr_url(url, name):
268
 
    if not PY3:
269
 
        name = name.encode('utf-8')
270
261
    return git_url_to_bzr_url(url, branch=name)
271
262
 
272
263
 
275
266
 
276
267
    supports_merge_proposal_labels = True
277
268
    supports_merge_proposal_commit_message = False
278
 
    supports_allow_collaboration = True
279
269
    merge_proposal_description_format = 'markdown'
280
270
 
281
271
    def __repr__(self):
410
400
        if response.status == 403:
411
401
            raise errors.PermissionDenied(response.text)
412
402
        if response.status == 409:
413
 
            raise MergeRequestExists()
 
403
            raise MergeProposalExists(self.source_branch.user_url)
414
404
        if response.status != 201:
415
405
            raise errors.InvalidHttpResponse(path, response.text)
416
406
        return json.loads(response.data)
625
615
                else:
626
616
                    user = self.gl._get_user(reviewer)
627
617
                kwargs['assignee_ids'].append(user['id'])
628
 
        try:
629
 
            merge_request = self.gl._create_mergerequest(**kwargs)
630
 
        except MergeRequestExists:
631
 
            raise ProposalExists(self.source_branch.user_url)
 
618
        merge_request = self.gl._create_mergerequest(**kwargs)
632
619
        return GitLabMergeProposal(self.gl, merge_request)
633
620
 
634
621