Commit eded4bfa authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Raise exception and show message to user if repo missing satellite

parent eaa8cd28
......@@ -69,6 +69,8 @@ class MergeRequestsController < ProjectResourceController
@merge_request.check_if_can_be_merged
end
render json: {state: @merge_request.human_state}
rescue Gitlab::SatelliteNotExistError
render json: {state: :no_satellite}
end
def automerge
......
......@@ -23,6 +23,11 @@
.clearfix
.automerge_widget.no_satellite{style: "display:none"}
.alert.alert-error
%span
%strong This repository does not have satellite. Ask administrator to fix this issue
.automerge_widget.cannot_be_merged{style: "display:none"}
.alert.alert-info
%span
......
module Gitlab
class SatelliteNotExistError < StandardError; end
module Satellite
class Satellite
PARKING_BRANCH = "__parking_branch"
......@@ -9,8 +11,12 @@ module Gitlab
@project = project
end
def raise_no_satellite
raise SatelliteNotExistError.new("Satellite doesn't exist")
end
def clear_and_update!
raise "Satellite doesn't exist" unless exists?
raise_no_satellite unless exists?
delete_heads!
clear_working_dir!
......@@ -35,7 +41,7 @@ module Gitlab
# * Changes the current directory to the satellite's working dir
# * Yields
def lock
raise "Satellite doesn't exist" unless exists?
raise_no_satellite unless exists?
File.open(lock_file, "w+") do |f|
f.flock(File::LOCK_EX)
......@@ -55,7 +61,7 @@ module Gitlab
end
def repo
raise "Satellite doesn't exist" unless exists?
raise_no_satellite unless exists?
@repo ||= Grit::Repo.new(path)
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment