Skip to content
Snippets Groups Projects
Commit 66127221 authored by Stan Hu's avatar Stan Hu
Browse files

Gracefully handle case when repository's root ref does not exist

This was failing regularly with an Error 500 when the API branches endpoint
was used.

Closes #40615
parent 4ab1a1bd
No related branches found
No related tags found
No related merge requests found
---
title: "Gracefully handle case when repository's root ref does not exist"
merge_request:
author:
type: fixed
Loading
Loading
@@ -1253,7 +1253,11 @@ module Gitlab
 
# Gitaly migration: https://gitlab.com/gitlab-org/gitaly/issues/695
def git_merged_branch_names(branch_names = [])
root_sha = find_branch(root_ref).target
return [] unless root_ref
root_sha = find_branch(root_ref)&.target
return [] unless root_sha
 
git_arguments =
%W[branch --merged #{root_sha}
Loading
Loading
Loading
Loading
@@ -1210,6 +1210,16 @@ describe Gitlab::Git::Repository, seed_helper: true do
end
end
 
context 'when no root ref is available' do
it 'returns empty list' do
project = create(:project, :empty_repo)
names = project.repository.merged_branch_names(%w[feature])
expect(names).to be_empty
end
end
context 'when no branch names are specified' do
before do
repository.create_branch('identical', 'master')
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment