summaryrefslogtreecommitdiff
path: root/app/views/projects/commit/_commit_box.html.haml
blob: d001e01609a33d4f6fdd8cf72afa3823b1560cb6 (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
.page-content-header
  .header-main-content
    %strong Commit #{@commit.short_id}
    = clipboard_button(clipboard_text: @commit.id, title: "Copy commit SHA to clipboard")
    %span.hidden-xs authored
    #{time_ago_with_tooltip(@commit.authored_date)}
    %span by
    = author_avatar(@commit, size: 24)
    %strong
      = commit_author_link(@commit, avatar: true, size: 24)
    - if @commit.different_committer?
      %span.light Committed by
      %strong
        = commit_committer_link(@commit, avatar: true, size: 24)
      #{time_ago_with_tooltip(@commit.committed_date)}

  .header-action-buttons
    - if defined?(@notes_count) && @notes_count > 0
      %span.btn.disabled.btn-grouped.hidden-xs.append-right-10
        = icon('comment')
        = @notes_count
    = link_to namespace_project_tree_path(@project.namespace, @project, @commit), class: "btn btn-default append-right-10 hidden-xs hidden-sm" do
      Browse Files
    .dropdown.inline
      %a.btn.btn-default.dropdown-toggle{ data: { toggle: "dropdown" } }
        %span Options
        = icon('caret-down')
      %ul.dropdown-menu.dropdown-menu-align-right
        %li.visible-xs-block.visible-sm-block
          = link_to namespace_project_tree_path(@project.namespace, @project, @commit) do
            Browse Files
        - unless @commit.has_been_reverted?(current_user)
          %li.clearfix
            = revert_commit_link(@commit, namespace_project_commit_path(@project.namespace, @project, @commit.id), has_tooltip: false)
        %li.clearfix
          = cherry_pick_commit_link(@commit, namespace_project_commit_path(@project.namespace, @project, @commit.id), has_tooltip: false)
        - if can_collaborate_with_project?
          %li.clearfix
            = link_to "Tag", new_namespace_project_tag_path(@project.namespace, @project, ref: @commit)
        %li.divider
        %li.dropdown-header
          Download
        - unless @commit.parents.length > 1
          %li= link_to "Email Patches", namespace_project_commit_path(@project.namespace, @project, @commit, format: :patch)
        %li= link_to "Plain Diff",    namespace_project_commit_path(@project.namespace, @project, @commit, format: :diff)

.commit-box
  %h3.commit-title
    = markdown(@commit.title, pipeline: :single_line, author: @commit.author)
  - if @commit.description.present?
    %pre.commit-description
      = preserve(markdown(@commit.description, pipeline: :single_line, author: @commit.author))

.info-well
  .well-segment.branch-info
    .icon-container.commit-icon
      = custom_icon("icon_commit")
    %span.cgray= pluralize(@commit.parents.count, "parent")
    - @commit.parents.each do |parent|
      = link_to parent.short_id, namespace_project_commit_path(@project.namespace, @project, parent), class: "monospace"
    %span.commit-info.branches
      %i.fa.fa-spinner.fa-spin

  - if @commit.status
    .well-segment.pipeline-info
      %div{ class: "icon-container ci-status-icon-#{@commit.status}" }
        = link_to namespace_project_pipeline_path(@project.namespace, @project, @commit.pipelines.last.id) do
          = ci_icon_for_status(@commit.status)
      Pipeline
      = link_to "##{@commit.pipelines.last.id}", namespace_project_pipeline_path(@project.namespace, @project, @commit.pipelines.last.id), class: "monospace"
      for
      = link_to @commit.short_id, namespace_project_commit_path(@project.namespace, @project, @commit), class: "monospace"
      %span.ci-status-label
        = ci_label_for_status(@commit.status)
      in
      = time_interval_in_words @commit.pipelines.total_duration

:javascript
  $(".commit-info.branches").load("#{branches_namespace_project_commit_path(@project.namespace, @project, @commit.id)}");