summaryrefslogtreecommitdiff
path: root/app/views/projects/merge_requests/show/_how_to_merge.html.haml
blob: 0dbd159298e8761b50acc8e52396df6fcf76a88f (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
%div#modal_merge_info.modal
  .modal-dialog
    .modal-content
      .modal-header
        %a.close{href: "#", "data-dismiss" => "modal"} ×
        %h3 Check out, review, and merge locally
      .modal-body
        %p
          %strong Step 1.
          Fetch and check out the branch for this merge request
        = clipboard_button(clipboard_target: 'pre#merge-info-1')
        %pre.dark#merge-info-1
          - if @merge_request.for_fork?
            :preserve
              git fetch #{h @merge_request.source_project.http_url_to_repo} #{h @merge_request.source_branch}
              git checkout -b #{h @merge_request.source_project_path}-#{h @merge_request.source_branch} FETCH_HEAD
          - else
            :preserve
              git fetch origin
              git checkout -b #{h @merge_request.source_branch} origin/#{h @merge_request.source_branch}
        %p
          %strong Step 2.
          Review the changes locally

        %p
          %strong Step 3.
          Merge the branch and fix any conflicts that come up
        = clipboard_button(clipboard_target: 'pre#merge-info-3')
        %pre.dark#merge-info-3
          - if @merge_request.for_fork?
            :preserve
              git checkout #{h @merge_request.target_branch}
              git merge --no-ff #{h @merge_request.source_project_path}-#{h @merge_request.source_branch}
          - else
            :preserve
              git checkout #{h @merge_request.target_branch}
              git merge --no-ff #{h @merge_request.source_branch}
        %p
          %strong Step 4.
          Push the result of the merge to GitLab
        = clipboard_button(clipboard_target: 'pre#merge-info-4')
        %pre.dark#merge-info-4
          :preserve
            git push origin #{h @merge_request.target_branch}
        - unless @merge_request.can_be_merged_by?(current_user)
          %p
            Note that pushing to GitLab requires write access to this repository.
        %p
          %strong Tip:
          You can also checkout merge requests locally by
          %a{href: 'https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/workflow/merge_requests.md#checkout-merge-requests-locally', target: '_blank'} following these guidelines

:javascript
  $(function(){
    var modal = $('#modal_merge_info').modal({modal: true, show:false});
    $('.how_to_merge_link').bind("click", function(){
      modal.show();
    });
    $('.modal-header .close').bind("click", function(){
      modal.hide();
    })
  })