Merge lp:~jelmer/brz/pre-receive-hook 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/pre-receive-hook
Merge into: lp:brz/3.1
Diff against target: 31 lines (+10/-0)
2 files modified
breezy/git/remote.py (+2/-0)
breezy/git/tests/test_remote.py (+8/-0)
To merge this branch: bzr merge lp:~jelmer/brz/pre-receive-hook
Reviewer Review Type Date Requested Status
Jelmer Vernooij Approve
Review via email: mp+388528@code.launchpad.net

Commit message

git: Handle pre-receive hook declined errors.

Description of the change

git: Handle pre-receive hook declined errors.

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/git/remote.py'
2--- breezy/git/remote.py 2020-07-28 02:32:04 +0000
3+++ breezy/git/remote.py 2020-08-01 21:59:28 +0000
4@@ -211,6 +211,8 @@
5 return PermissionDenied(url, message)
6 if message.endswith(' does not appear to be a git repository'):
7 return NotBranchError(url, message)
8+ if message == 'pre-receive hook declined':
9+ return PermissionDenied(url, message)
10 if re.match('(.+) is not a valid repository name',
11 message.splitlines()[0]):
12 return NotBranchError(url, message)
13
14=== modified file 'breezy/git/tests/test_remote.py'
15--- breezy/git/tests/test_remote.py 2020-07-15 22:39:05 +0000
16+++ breezy/git/tests/test_remote.py 2020-08-01 21:59:28 +0000
17@@ -137,6 +137,14 @@
18 self.assertEqual(e.path, 'porridge/gaduhistory.git')
19 self.assertEqual(e.extra, ': denied to jelmer')
20
21+ def test_pre_receive_hook_declined(self):
22+ e = parse_git_error(
23+ "url",
24+ 'pre-receive hook declined')
25+ self.assertIsInstance(e, PermissionDenied)
26+ self.assertEqual(e.path, "url")
27+ self.assertEqual(e.extra, ': pre-receive hook declined')
28+
29 def test_invalid_repo_name(self):
30 e = parse_git_error(
31 "url",

Subscribers

People subscribed via source and target branches