diff options
Diffstat (limited to 'app/controllers/projects/blob_controller.rb')
-rw-r--r-- | app/controllers/projects/blob_controller.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index c6c9237292d..08066acb45c 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -23,6 +23,10 @@ class Projects::BlobController < Projects::ApplicationController # We need to assign the blob vars before `authorize_edit_tree!` so we can # validate access to a specific ref. before_action :assign_blob_vars + + # Since BlobController doesn't use assign_ref_vars, we have to call this explicitly + before_action :rectify_renamed_default_branch!, only: [:show] + before_action :authorize_edit_tree!, only: [:new, :create, :update, :destroy] before_action :commit, except: [:new, :create] @@ -140,11 +144,15 @@ class Projects::BlobController < Projects::ApplicationController end def commit - @commit = @repository.commit(@ref) + @commit ||= @repository.commit(@ref) return render_404 unless @commit end + def redirect_renamed_default_branch? + action_name == 'show' + end + def assign_blob_vars @id = params[:id] @ref, @path = extract_ref(@id) @@ -152,6 +160,12 @@ class Projects::BlobController < Projects::ApplicationController render_404 end + def rectify_renamed_default_branch! + @commit ||= @repository.commit(@ref) + + super + end + # rubocop: disable CodeReuse/ActiveRecord def after_edit_path from_merge_request = MergeRequestsFinder.new(current_user, project_id: @project.id).find_by(iid: params[:from_merge_request_iid]) |