format.html do
if @project.repository && !@project.repository.empty?
@last_push = current_user.recent_push(@project.id)
- @last_commit = CommitDecorator.decorate(@project.repository.commit)
render :show
else
render "projects/empty"
class Repository
+ include Gitlab::Popen
+
# Repository directory name with namespace direcotry
# Examples:
# gitlab/gitolite
file_path
end
+
+ # Return repo size in megabytes
+ # Cached in redis
+ def size
+ Rails.cache.fetch(cache_key(:size)) do
+ size = popen('du -s', path_to_repo).first.strip.to_i
+ (size.to_f / 1024).round(2)
+ end
+ end
+
+ def expire_cache
+ Rails.cache.delete(cache_key(:size))
+ end
+
+ def cache_key(type)
+ "#{type}:#{path_with_namespace}"
+ end
end
project.ensure_satellite_exists
project.discover_default_branch
+ project.repository.expire_cache
if push_to_branch?(ref, oldrev)
project.update_merge_requests(oldrev, newrev, ref, @user)
+++ /dev/null
-.commit
- %p
- %time.committed_ago{ datetime: commit.committed_date, title: commit.committed_date.stamp("Aug 21, 2011 9:23pm") }
- = time_ago_in_words(commit.committed_date)
- ago
-
- = commit.author_link avatar: true, size: 16
- %p
- = link_to commit.short_id(8), project_commit_path(@project, commit), class: "commit_short_id"
-
- = link_to_gfm truncate(commit.title, length: 30), project_commit_path(@project, commit.id), class: "row_title"
= render "events/event_last_push", event: @last_push
.row
- .span8
+ .span9
.content_list= render @events
.loading.hide
- .span4
+ .span3
.ui-box.white
.padded
%h3.page_title
= @project.name
- %hr
- if @project.description.present?
%p.light= @project.description
- %h5 Last commit:
- = render 'last_commit', commit: @last_commit
+ %hr
+ %p
+ Access level:
+ - if @project.public
+ %span.cblue
+ %i.icon-share
+ Public
+ - else
+ %span.cgreen
+ %i.icon-lock
+ Private
+
+ %p Repo Size: #{@project.repository.size} MB
+ %p Created at: #{@project.created_at.stamp('Aug 22, 2013')}
+ %p Owner: #{link_to @project.owner_name, @project.owner}
:javascript
$(function(){ Pager.init(20); });