diff --git a/app/controllers/projects/commits_controller.rb b/app/controllers/projects/commits_controller.rb index 14637437d0a..cadb9cff463 100644 --- a/app/controllers/projects/commits_controller.rb +++ b/app/controllers/projects/commits_controller.rb @@ -70,7 +70,7 @@ class Projects::CommitsController < Projects::ApplicationController end def validate_path - return unless @path + return if @path.blank? path_exists = @repository.blob_at(@commit.id, @path) || @repository.tree(@commit.id, @path).entries.present? redirect_to_tree_root_for_missing_path(@project, @ref, @path) unless path_exists diff --git a/spec/controllers/projects/commits_controller_spec.rb b/spec/controllers/projects/commits_controller_spec.rb index 77c7ea10e96..e04bf550e09 100644 --- a/spec/controllers/projects/commits_controller_spec.rb +++ b/spec/controllers/projects/commits_controller_spec.rb @@ -88,6 +88,16 @@ RSpec.describe Projects::CommitsController, feature_category: :source_code_manag end end + context 'when branch has only empty commits' do + let(:id) { 'empty-branch' } + + it 'allows to see commits' do + request + + is_expected.to respond_with(:success) + end + end + context "with an invalid limit" do let(:id) { "master/README.md" }