/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

Fix handling of 409s for gitlab.

Merged from https://code.launchpad.net/~jelmer/brz/gitlab-sourcebranch/+merge/380698

Show diffs side-by-side

added added

removed removed

Lines of Context:
100
100
        self.error = error
101
101
 
102
102
 
 
103
class MergeRequestExists(Exception):
 
104
    """Raised when a merge requests already exists."""
 
105
 
 
106
 
103
107
def default_config_path():
104
108
    return os.path.join(bedding.config_dir(), 'gitlab.conf')
105
109
 
406
410
        if response.status == 403:
407
411
            raise errors.PermissionDenied(response.text)
408
412
        if response.status == 409:
409
 
            raise MergeProposalExists(self.source_branch.user_url)
 
413
            raise MergeRequestExists()
410
414
        if response.status != 201:
411
415
            raise errors.InvalidHttpResponse(path, response.text)
412
416
        return json.loads(response.data)
621
625
                else:
622
626
                    user = self.gl._get_user(reviewer)
623
627
                kwargs['assignee_ids'].append(user['id'])
624
 
        merge_request = self.gl._create_mergerequest(**kwargs)
 
628
        try:
 
629
            merge_request = self.gl._create_mergerequest(**kwargs)
 
630
        except MergeRequestExists:
 
631
            raise ProposalExists(self.source_branch.user_url)
625
632
        return GitLabMergeProposal(self.gl, merge_request)
626
633
 
627
634