summaryrefslogtreecommitdiff
path: root/lib/gitlab_access.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab_access.rb')
-rw-r--r--lib/gitlab_access.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/gitlab_access.rb b/lib/gitlab_access.rb
index 04806b2..8e3c74f 100644
--- a/lib/gitlab_access.rb
+++ b/lib/gitlab_access.rb
@@ -6,6 +6,7 @@ require 'json'
class GitlabAccess
class AccessDeniedError < StandardError; end
+ class MemoryLimitReachedError < StandardError; end
include NamesHelper
@@ -24,6 +25,7 @@ class GitlabAccess
status = api.check_access('git-receive-pack', @repo_name, @actor, @changes, @protocol)
raise AccessDeniedError, status.message unless status.allowed?
+ raise MemoryLimitReachedError, status.memory_message if status.memory_limit?
true
rescue GitlabNet::ApiUnreachableError
@@ -32,6 +34,9 @@ class GitlabAccess
rescue AccessDeniedError => ex
$stderr.puts "GitLab: #{ex.message}"
false
+ rescue MemoryLimitReachedError => ex
+ $stderr.puts "Gitlab: Project has reached the memory limit by: #{ex.message}MB please free some memory in Gitlab's UI to be able to push."
+ false
end
protected