summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-10-22 10:25:57 +0200
committerDouwe Maan <douwe@gitlab.com>2015-10-22 10:25:57 +0200
commit8b127f4526ea6dacec3ee02725e5624aaa7f9d4a (patch)
tree6bc5c18f84e294c0f6f77497948e659e9bda7e3f
parent46e66f5845d14f086400d201c1855abe70f337f8 (diff)
parent57382d6170a637c30d84efc11f6d7bd111cd6ca9 (diff)
downloadgitlab-ce-8b127f4526ea6dacec3ee02725e5624aaa7f9d4a.tar.gz
Merge branch 'bozaro-empty-repo'
-rw-r--r--CHANGELOG1
-rw-r--r--app/models/project.rb2
-rw-r--r--app/models/repository.rb13
3 files changed, 15 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 267892c4cc7..671955d70cf 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -10,6 +10,7 @@ v 8.2.0 (unreleased)
- Adds ability to remove the forked relationship from project settings screen. (Han Loong Liauw)
- Improved performance of sorting milestone issues
- Allow users to select the Files view as default project view (Cristian Bica)
+ - Show "Empty Repository Page" for repository without branches (Artem V. Navrotskiy)
v 8.1.0 (unreleased)
- Send an email to admin email when a user is reported for spam (Jonathan Rochkind)
diff --git a/app/models/project.rb b/app/models/project.rb
index 88cd88dcb5a..4c5bf220f24 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -567,7 +567,7 @@ class Project < ActiveRecord::Base
end
def empty_repo?
- !repository.exists? || repository.empty?
+ !repository.exists? || !repository.has_visible_content?
end
def repo
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 0808896fd87..88d3d73a40e 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -44,6 +44,19 @@ class Repository
raw_repository.empty?
end
+ #
+ # Git repository can contains some hidden refs like:
+ # /refs/notes/*
+ # /refs/git-as-svn/*
+ # /refs/pulls/*
+ # This refs by default not visible in project page and not cloned to client side.
+ #
+ # This method return true if repository contains some content visible in project page.
+ #
+ def has_visible_content?
+ !raw_repository.branches.empty?
+ end
+
def commit(id = 'HEAD')
return nil unless raw_repository
commit = Gitlab::Git::Commit.find(raw_repository, id)