summaryrefslogtreecommitdiff
path: root/app/views/notify/repository_push_email.html.haml
blob: 93806e6de8ee8ebd83cd69dbc21ba3d6414114fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
= content_for :head do
  = stylesheet_link_tag 'mailers/highlighted_diff_email'

%h3
  #{@message.author_name} #{@message.action_name} #{@message.ref_type} #{@message.ref_name}
  at #{link_to(@message.project_name_with_namespace, project_url(@message.project))}

- if @message.compare
  - if @message.reverse_compare?
    %p
      %strong WARNING:
      The push did not contain any new commits, but force pushed to delete the commits and changes below.

  %h4
    = @message.reverse_compare? ? "Deleted commits:" : "Commits:"

  %ul
    - @message.commits.each do |commit|
      %li
        %strong= link_to(commit.short_id, project_commit_url(@message.project, commit))
        %div
          %span by #{commit.author_name}
          %i at #{commit.committed_date.to_s(:iso8601)}
        %pre.commit-message
          = commit.safe_message

  %h4 #{pluralize @message.diffs_count, "changed file"}:

  %ul
    - @message.diffs.each do |diff_file|
      %li.file-stats
        %a{ href: "#{@message.target_url if @message.disable_diffs?}##{hexdigest(diff_file.file_path)}" }
          - if diff_file.deleted_file?
            %span.deleted-file
              −
              = diff_file.old_path
          - elsif diff_file.renamed_file?
            = diff_file.old_path
            →
            = diff_file.new_path
          - elsif diff_file.new_file?
            %span.new-file
              +
              = diff_file.new_path
          - else
            = diff_file.new_path

  - unless @message.disable_diffs?
    - if @message.compare_timeout
      %h5 The diff was not included because it is too large.
    - else
      %h4 Changes:
      - @message.diffs.each do |diff_file|
        - file_hash = hexdigest(diff_file.file_path)
        %li{ id: file_hash }
          %a{ href: @message.target_url + "##{file_hash}" }<
            - if diff_file.deleted_file?
              %strong<
                = diff_file.old_path
              deleted
            - elsif diff_file.renamed_file?
              %strong<
                = diff_file.old_path
              &rarr;
              %strong<
                = diff_file.new_path
            - else
              %strong<
                = diff_file.new_path
          - if diff_file.too_large?
            The diff for this file was not included because it is too large.
          - else
            %hr
            - blob = diff_file.blob
            - if blob && blob.readable_text?
              %table.code.white
                = render partial: "projects/diffs/email_line", collection: diff_file.highlighted_diff_lines, as: :line, locals: { diff_file: diff_file }
            - else
              No preview for this file type
          %br