Merge lp:~jelmer/brz/fork-disabled into lp:brz/3.1

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/fork-disabled
Merge into: lp:brz/3.1
Diff against target: 27 lines (+10/-0)
1 file modified
breezy/plugins/gitlab/hoster.py (+10/-0)
To merge this branch: bzr merge lp:~jelmer/brz/fork-disabled
Reviewer Review Type Date Requested Status
Jelmer Vernooij Approve
Review via email: mp+386359@code.launchpad.net

Description of the change

Raise proper exception when forking isn't available for a project.

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/plugins/gitlab/hoster.py'
2--- breezy/plugins/gitlab/hoster.py 2020-06-22 02:21:47 +0000
3+++ breezy/plugins/gitlab/hoster.py 2020-06-25 00:10:31 +0000
4@@ -100,6 +100,14 @@
5 self.error = error
6
7
8+class ForkingDisabled(errors.BzrError):
9+
10+ _fmt = ("Forking on project %(project)s is disabled.")
11+
12+ def __init__(self, project):
13+ self.project = project
14+
15+
16 class MergeRequestExists(Exception):
17 """Raised when a merge requests already exists."""
18
19@@ -356,6 +364,8 @@
20 def _fork_project(self, project_name, timeout=50, interval=5):
21 path = 'projects/%s/fork' % urlutils.quote(str(project_name), '')
22 response = self._api_request('POST', path)
23+ if response.status == 404:
24+ raise ForkingDisabled(project_name)
25 if response.status not in (200, 201):
26 raise errors.InvalidHttpResponse(path, response.text)
27 # The response should be valid JSON, but let's ignore it

Subscribers

People subscribed via source and target branches