Commit fec5f807 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'new-branch-commits' into 'master'

List new commits for newly pushed branch in activity view.

When someone pushes commits, I want to see them, regardless if it's a new or existing branch. If it's a new branch, we compare with the default branch (usually master).

![Screen_Shot_2015-03-17_at_15.49.13](https://dev.gitlab.org/gitlab/gitlabhq/uploads/4cb7e0d833bc83a30197db81d4b273bc/Screen_Shot_2015-03-17_at_15.49.13.png)

See merge request !1711
parents 1646bfc2 9d938fd7
...@@ -4,6 +4,7 @@ v 7.10.0 (unreleased) ...@@ -4,6 +4,7 @@ v 7.10.0 (unreleased)
- enable line wrapping per default and remove the checkbox to toggle it (Hannes Rosenögger) - enable line wrapping per default and remove the checkbox to toggle it (Hannes Rosenögger)
- extend the commit calendar to show the actual commits made on a date (Hannes Rosenögger) - extend the commit calendar to show the actual commits made on a date (Hannes Rosenögger)
- Add a service to support external wikis (Hannes Rosenögger) - 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) v 7.9.0 (unreleased)
- Add HipChat integration documentation (Stan Hu) - Add HipChat integration documentation (Stan Hu)
......
...@@ -96,7 +96,7 @@ module EventsHelper ...@@ -96,7 +96,7 @@ module EventsHelper
end end
end end
elsif event.push? elsif event.push?
if event.push_with_commits? if event.push_with_commits? && event.md_ref?
if event.commits_count > 1 if event.commits_count > 1
namespace_project_compare_url(event.project.namespace, event.project, namespace_project_compare_url(event.project.namespace, event.project,
from: event.commit_from, to: from: event.commit_from, to:
......
...@@ -247,7 +247,7 @@ class Event < ActiveRecord::Base ...@@ -247,7 +247,7 @@ class Event < ActiveRecord::Base
end end
def push_with_commits? def push_with_commits?
md_ref? && commits.any? && commit_from && commit_to !commits.empty? && commit_from && commit_to
end end
def last_push_to_non_root? def last_push_to_non_root?
......
...@@ -21,5 +21,11 @@ ...@@ -21,5 +21,11 @@
%li.commits-stat %li.commits-stat
- if event.commits_count > 2 - if event.commits_count > 2
%span ... and #{event.commits_count - 2} more commits. %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 - if event.md_ref?
%strong Compare &rarr; #{truncate_sha(event.commit_from)}...#{truncate_sha(event.commit_to)} - 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)}
...@@ -28,6 +28,12 @@ module Gitlab ...@@ -28,6 +28,12 @@ module Gitlab
# Get latest 20 commits ASC # Get latest 20 commits ASC
commits_limited = commits.last(20) 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" type = Gitlab::Git.tag_ref?(ref) ? "tag_push" : "push"
# Hash to be passed as post_receive_data # Hash to be passed as post_receive_data
data = { data = {
...@@ -49,17 +55,10 @@ module Gitlab ...@@ -49,17 +55,10 @@ module Gitlab
git_ssh_url: project.ssh_url_to_repo, git_ssh_url: project.ssh_url_to_repo,
visibility_level: project.visibility_level visibility_level: project.visibility_level
}, },
commits: [], commits: commit_attrs,
total_commits_count: commits_count 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 data
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment