List new commits for newly pushed branch in activity view.

This commit is contained in:
Douwe Maan 2015-03-17 15:51:14 +01:00
parent dbd347bfa0
commit 9d938fd77d
5 changed files with 18 additions and 12 deletions

View File

@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date.
v 7.10.0 (unreleased)
- Add a service to support external wikis (Hannes Rosenögger)
- List new commits for newly pushed branch in activity view.
v 7.9.0 (unreleased)
- Add HipChat integration documentation (Stan Hu)

View File

@ -96,7 +96,7 @@ module EventsHelper
end
end
elsif event.push?
if event.push_with_commits?
if event.push_with_commits? && event.md_ref?
if event.commits_count > 1
namespace_project_compare_url(event.project.namespace, event.project,
from: event.commit_from, to:

View File

@ -247,7 +247,7 @@ class Event < ActiveRecord::Base
end
def push_with_commits?
md_ref? && commits.any? && commit_from && commit_to
!commits.empty? && commit_from && commit_to
end
def last_push_to_non_root?

View File

@ -21,5 +21,11 @@
%li.commits-stat
- if event.commits_count > 2
%span ... and #{event.commits_count - 2} more commits.
= link_to namespace_project_compare_path(event.project.namespace, event.project, from: event.commit_from, to: event.commit_to) do
%strong Compare &rarr; #{truncate_sha(event.commit_from)}...#{truncate_sha(event.commit_to)}
- if event.md_ref?
- from = event.commit_from
- from_label = truncate_sha(from)
- else
- from = event.project.default_branch
- from_label = from
= link_to namespace_project_compare_path(event.project.namespace, event.project, from: from, to: event.commit_to) do
%strong Compare &rarr; #{from_label}...#{truncate_sha(event.commit_to)}

View File

@ -27,6 +27,12 @@ module Gitlab
# Get latest 20 commits ASC
commits_limited = commits.last(20)
# For performance purposes maximum 20 latest commits
# will be passed as post receive hook data.
commit_attrs = commits_limited.map do |commit|
commit.hook_attrs(project)
end
type = Gitlab::Git.tag_ref?(ref) ? "tag_push" : "push"
# Hash to be passed as post_receive_data
@ -49,17 +55,10 @@ module Gitlab
git_ssh_url: project.ssh_url_to_repo,
visibility_level: project.visibility_level
},
commits: [],
commits: commit_attrs,
total_commits_count: commits_count
}
# For performance purposes maximum 20 latest commits
# will be passed as post receive hook data.
commits_limited.each do |commit|
data[:commits] << commit.hook_attrs(project)
end
data[:commits] = "" if data[:commits].count == 0
data
end