Fix Error 500 when browsing projects with no HEAD
Steps to reproduce: 1. Create a project with a README 2. In the actual remote, type: `git symbolic-ref HEAD refs/heads/nowhere` 3. Check that HEAD is gone via `git ls-remote .` 4. Go to the projects page and see the Error 500 Closes https://github.com/gitlabhq/gitlabhq/issues/9484
This commit is contained in:
parent
5dd4dea93b
commit
a5e8ea54ec
3 changed files with 22 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
||||||
Please view this file on the master branch, on stable branches it's out of date.
|
Please view this file on the master branch, on stable branches it's out of date.
|
||||||
|
|
||||||
v 7.14.0 (unreleased)
|
v 7.14.0 (unreleased)
|
||||||
|
- Fix Error 500 when browsing projects with no HEAD (Stan Hu)
|
||||||
- Fix full screen mode for snippet comments (Daniel Gerhardt)
|
- Fix full screen mode for snippet comments (Daniel Gerhardt)
|
||||||
- Fix 404 error in files view after deleting the last file in a repository (Stan Hu)
|
- Fix 404 error in files view after deleting the last file in a repository (Stan Hu)
|
||||||
- Fix label read access for unauthenticated users (Daniel Gerhardt)
|
- Fix label read access for unauthenticated users (Daniel Gerhardt)
|
||||||
|
|
|
@ -278,7 +278,8 @@ module ProjectsHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def readme_cache_key
|
def readme_cache_key
|
||||||
[@project.id, @project.commit.sha, "readme"].join('-')
|
sha = @project.commit.try(:sha) || 'nil'
|
||||||
|
[@project.id, sha, "readme"].join('-')
|
||||||
end
|
end
|
||||||
|
|
||||||
def round_commit_count(project)
|
def round_commit_count(project)
|
||||||
|
|
|
@ -22,7 +22,7 @@ describe ProjectsHelper do
|
||||||
|
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
|
|
||||||
it "returns false if there are no approipriate permissions" do
|
it "returns false if there are no appropriate permissions" do
|
||||||
allow(helper).to receive(:can?) { false }
|
allow(helper).to receive(:can?) { false }
|
||||||
|
|
||||||
expect(helper.can_change_visibility_level?(project, user)).to be_falsey
|
expect(helper.can_change_visibility_level?(project, user)).to be_falsey
|
||||||
|
@ -52,4 +52,22 @@ describe ProjectsHelper do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "readme_cache_key" do
|
||||||
|
let(:project) { create(:project) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
helper.instance_variable_set(:@project, project)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns a valid cach key" do
|
||||||
|
expect(helper.send(:readme_cache_key)).to eq("#{project.id}-#{project.commit.id}-readme")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns a valid cache key if HEAD does not exist" do
|
||||||
|
allow(project).to receive(:commit) { nil }
|
||||||
|
|
||||||
|
expect(helper.send(:readme_cache_key)).to eq("#{project.id}-nil-readme")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue