summaryrefslogtreecommitdiff
path: root/app/views/projects/merge_requests/show/_versions.html.haml
blob: 8f7b5d1543e9b100031fb6c1d5fe01b40149810f (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
- if @merge_request_diffs.size > 1
  .mr-version-controls
    %div.mr-version-menus-container.content-block
      Changes between
      %span.dropdown.inline.mr-version-dropdown
        %a.dropdown-toggle.btn.btn-default{ data: {toggle: :dropdown} }
          %span
            - if @merge_request_diff.latest?
              latest version
            - else
              version #{version_index(@merge_request_diff)}
          %span.caret
        %ul.dropdown-menu.dropdown-menu-selectable
          .dropdown-title
            %span Version:
            %button.dropdown-title-button.dropdown-menu-close
              %i.fa.fa-times.dropdown-menu-close-icon
          - @merge_request_diffs.each do |merge_request_diff|
            %li
              = link_to merge_request_version_path(@project, @merge_request, merge_request_diff), class: ('is-active' if merge_request_diff == @merge_request_diff) do
                %strong
                  - if merge_request_diff.latest?
                    latest version
                  - else
                    version #{version_index(merge_request_diff)}
                .monospace #{short_sha(merge_request_diff.head_commit_sha)}
                %small
                  #{number_with_delimiter(merge_request_diff.commits.count)} #{'commit'.pluralize(merge_request_diff.commits.count)},
                  = time_ago_with_tooltip(merge_request_diff.created_at)

      - if @merge_request_diff.base_commit_sha
        and
        %span.dropdown.inline.mr-version-compare-dropdown
          %a.btn.btn-default.dropdown-toggle{ data: {toggle: :dropdown} }
            %span
              - if @start_sha
                version #{version_index(@start_version)}
              - else
                #{@merge_request.target_branch}
            %span.caret
          %ul.dropdown-menu.dropdown-menu-selectable
            .dropdown-title
              %span Compared with:
              %button.dropdown-title-button.dropdown-menu-close
                %i.fa.fa-times.dropdown-menu-close-icon
            - @comparable_diffs.each do |merge_request_diff|
              %li
                = link_to merge_request_version_path(@project, @merge_request, @merge_request_diff, merge_request_diff.head_commit_sha), class: ('is-active' if merge_request_diff == @start_version) do
                  %strong
                    - if merge_request_diff.latest?
                      latest version
                    - else
                      version #{version_index(merge_request_diff)}
                  .monospace #{short_sha(merge_request_diff.head_commit_sha)}
                  %small
                    = time_ago_with_tooltip(merge_request_diff.created_at)
            %li
              = link_to merge_request_version_path(@project, @merge_request, @merge_request_diff), class: ('is-active' unless @start_sha) do
                %strong
                  #{@merge_request.target_branch} (base)
                .monospace #{short_sha(@merge_request_diff.base_commit_sha)}

    - unless @merge_request_diff.latest? && !@start_sha
      .comments-disabled-notif.content-block
        = icon('info-circle')
        - if @start_sha
          Comments are disabled because you're comparing two versions of this merge request.
        - else
          Comments are disabled because you're viewing an old version of this merge request.
        = link_to 'Show latest version', merge_request_version_path(@project, @merge_request, @merge_request_diff), class: 'btn btn-sm'