Commit 59769fdb940712737656a441ef43a1ad2dd47f4d
1 parent
0bcabdaf
Exists in
spb-stable
and in
3 other branches
Improve compare logic for EmailOnPush service
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
4 changed files
with
13 additions
and
2 deletions
Show diff stats
app/mailers/emails/projects.rb
... | ... | @@ -17,6 +17,7 @@ module Emails |
17 | 17 | def repository_push_email(project_id, recipient, author_id, branch, compare) |
18 | 18 | @project = Project.find(project_id) |
19 | 19 | @author = User.find(author_id) |
20 | + @compare = compare | |
20 | 21 | @commits = Commit.decorate(compare.commits) |
21 | 22 | @diffs = compare.diffs |
22 | 23 | @branch = branch | ... | ... |
app/views/notify/repository_push_email.html.haml
app/views/notify/repository_push_email.text.haml
... | ... | @@ -18,3 +18,8 @@ Diff: |
18 | 18 | = diff.new_path || diff.old_path |
19 | 19 | \===================================== |
20 | 20 | = diff.diff |
21 | +\ | |
22 | +- if @compare.timeout | |
23 | + Huge diff. To prevent performance issues it was hidden | |
24 | +- elsif @compare.commits_over_limit? | |
25 | + Diff for big amount of commits is disabled | ... | ... |
app/workers/emails_on_push_worker.rb
... | ... | @@ -13,13 +13,13 @@ class EmailsOnPushWorker |
13 | 13 | return true |
14 | 14 | end |
15 | 15 | |
16 | - compare = Gitlab::Git::Compare.new(project.repository.raw_repository, before_sha, after_sha) | |
16 | + compare = Gitlab::Git::Compare.new(project.repository.raw_repository, before_sha, after_sha, MergeRequestDiff::COMMITS_SAFE_SIZE) | |
17 | 17 | |
18 | 18 | # Do not send emails if git compare failed |
19 | 19 | return false unless compare && compare.commits.present? |
20 | 20 | |
21 | 21 | recipients.split(" ").each do |recipient| |
22 | - Notify.delay.repository_push_email(project_id, recipient, author_id, branch, compare) | |
22 | + Notify.repository_push_email(project_id, recipient, author_id, branch, compare).deliver | |
23 | 23 | end |
24 | 24 | end |
25 | 25 | end | ... | ... |