Merge branch 'mr-widget-text' into 'master'
Improve text of MR merge widget and manual merge modal Modal with manual merge instructions: ![Screen_Shot_2015-08-08_at_21.30.23](https://gitlab.com/gitlab-org/gitlab-ce/uploads/2bffe42e9ad76afd02efbe5816027767/Screen_Shot_2015-08-08_at_21.30.23.png) Archived: ![archived](https://gitlab.com/gitlab-org/gitlab-ce/uploads/e1efa1d54ce7ead8de6e88ca34095c09/archived.png) WIP: ![wip](https://gitlab.com/gitlab-org/gitlab-ce/uploads/14a831458d0946722559ec643f91678c/wip.png) Missing target branch: ![missing_branch](https://gitlab.com/gitlab-org/gitlab-ce/uploads/340083bbacbc234906e58cf76c586a9e/missing_branch.png) Missing source branch: ![missing_branch_source](https://gitlab.com/gitlab-org/gitlab-ce/uploads/72f80ed58efed88b2bbcf403b55b1a01/missing_branch_source.png) Nothing to merge: ![nothing](https://gitlab.com/gitlab-org/gitlab-ce/uploads/85b0d9da87acacd53cffd0df58d8eed4/nothing.png) Checking ability to merge: ![check](https://gitlab.com/gitlab-org/gitlab-ce/uploads/32d75322e622025610c446e8ca7d892d/check.png) Conflicts when allowed to merge: ![conflicts](https://gitlab.com/gitlab-org/gitlab-ce/uploads/23fdb2c60a27d873b3cc8a008203eb59/conflicts.png) Conflicts when not allowed to merge: ![conflicts_not_allowed](https://gitlab.com/gitlab-org/gitlab-ce/uploads/113462a80fc65bf48b20dc0efd808363/conflicts_not_allowed.png) Mergeable when allowed to merge: ![accept](https://gitlab.com/gitlab-org/gitlab-ce/uploads/1b3bb1a71df21728fe9318e7a083bfba/accept.png) Mergeable when not allowed to merge: ![not_allowed](https://gitlab.com/gitlab-org/gitlab-ce/uploads/d38fa5c96f8f9d7223bb6bc7ad36f29d/not_allowed.png) Merge in progress: ![locked](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b60dcf5eb70e6032b0e8aac766018df3/locked.png) Merge failed: ![failed_2](https://gitlab.com/gitlab-org/gitlab-ce/uploads/3713b9a10298183935b028b658271ac9/failed_2.png) Merged: ![merged](https://gitlab.com/gitlab-org/gitlab-ce/uploads/7f68a48dd197a71351c9a80c59c8ecbe/merged.png) Closed: ![closed](https://gitlab.com/gitlab-org/gitlab-ce/uploads/d5ce040449b7db943bd2fbfffb607a10/closed.png) cc @dzaporozhets @rspeicher See merge request !1120
This commit is contained in:
parent
eaba65fe50
commit
91836272fe
18 changed files with 119 additions and 98 deletions
|
@ -47,6 +47,8 @@ v 7.14.0 (unreleased)
|
||||||
- Add support for CI skipped status
|
- Add support for CI skipped status
|
||||||
- Fetch code from forks to refs/merge-requests/:id/head when merge request created
|
- Fetch code from forks to refs/merge-requests/:id/head when merge request created
|
||||||
- Remove comments and email addresses when publicly exposing ssh keys (Zeger-Jan van de Weg)
|
- Remove comments and email addresses when publicly exposing ssh keys (Zeger-Jan van de Weg)
|
||||||
|
- Improve MR merge widget text and UI consistency.
|
||||||
|
- Improve text in MR "How To Merge" modal.
|
||||||
- Cache all events
|
- Cache all events
|
||||||
- Order commits by date when comparing branches
|
- Order commits by date when comparing branches
|
||||||
- Fix bug causing error when the target branch of a symbolic ref was deleted
|
- Fix bug causing error when the target branch of a symbolic ref was deleted
|
||||||
|
|
|
@ -182,3 +182,7 @@
|
||||||
.merge-request-form .select2-container {
|
.merge-request-form .select2-container {
|
||||||
width: 250px !important;
|
width: 250px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#modal_merge_info .modal-dialog {
|
||||||
|
width: 600px;
|
||||||
|
}
|
||||||
|
|
|
@ -3,42 +3,45 @@
|
||||||
.modal-content
|
.modal-content
|
||||||
.modal-header
|
.modal-header
|
||||||
%a.close{href: "#", "data-dismiss" => "modal"} ×
|
%a.close{href: "#", "data-dismiss" => "modal"} ×
|
||||||
%h3 How to merge
|
%h3 Check out, review and merge locally
|
||||||
.modal-body
|
.modal-body
|
||||||
- if @merge_request.for_fork?
|
|
||||||
- source_remote = @merge_request.source_project.namespace.nil? ? "source" :@merge_request.source_project.namespace.path
|
|
||||||
- target_remote = @merge_request.target_project.namespace.nil? ? "target" :@merge_request.target_project.namespace.path
|
|
||||||
%p
|
%p
|
||||||
%strong Step 1.
|
%strong Step 1.
|
||||||
Fetch the code and create a new branch pointing to it
|
Fetch and check out the branch for this merge request
|
||||||
%pre.dark
|
%pre.dark
|
||||||
|
- if @merge_request.for_fork?
|
||||||
:preserve
|
:preserve
|
||||||
git fetch #{@merge_request.source_project.http_url_to_repo} #{@merge_request.source_branch}
|
git fetch #{@merge_request.source_project.http_url_to_repo} #{@merge_request.source_branch}
|
||||||
git checkout -b #{@merge_request.source_project_path}-#{@merge_request.source_branch} FETCH_HEAD
|
git checkout -b #{@merge_request.source_project_path}-#{@merge_request.source_branch} FETCH_HEAD
|
||||||
%p
|
|
||||||
%strong Step 2.
|
|
||||||
Merge the branch and push the changes to GitLab
|
|
||||||
%pre.dark
|
|
||||||
:preserve
|
|
||||||
git checkout #{@merge_request.target_branch}
|
|
||||||
git merge --no-ff #{@merge_request.source_project_path}-#{@merge_request.source_branch}
|
|
||||||
git push origin #{@merge_request.target_branch}
|
|
||||||
- else
|
- else
|
||||||
%p
|
|
||||||
%strong Step 1.
|
|
||||||
Update the repo and checkout the branch we are going to merge
|
|
||||||
%pre.dark
|
|
||||||
:preserve
|
:preserve
|
||||||
git fetch origin
|
git fetch origin
|
||||||
git checkout -b #{@merge_request.source_branch} origin/#{@merge_request.source_branch}
|
git checkout -b #{@merge_request.source_branch} origin/#{@merge_request.source_branch}
|
||||||
%p
|
%p
|
||||||
%strong Step 2.
|
%strong Step 2.
|
||||||
Merge the branch and push the changes to GitLab
|
Review the changes locally
|
||||||
|
|
||||||
|
%p
|
||||||
|
%strong Step 3.
|
||||||
|
Merge the branch and fix any conflicts that come up
|
||||||
%pre.dark
|
%pre.dark
|
||||||
|
- if @merge_request.for_fork?
|
||||||
|
:preserve
|
||||||
|
git checkout #{@merge_request.target_branch}
|
||||||
|
git merge --no-ff #{@merge_request.source_project_path}-#{@merge_request.source_branch}
|
||||||
|
- else
|
||||||
:preserve
|
:preserve
|
||||||
git checkout #{@merge_request.target_branch}
|
git checkout #{@merge_request.target_branch}
|
||||||
git merge --no-ff #{@merge_request.source_branch}
|
git merge --no-ff #{@merge_request.source_branch}
|
||||||
|
%p
|
||||||
|
%strong Step 4.
|
||||||
|
Push the result of the merge to GitLab
|
||||||
|
%pre.dark
|
||||||
|
:preserve
|
||||||
git push origin #{@merge_request.target_branch}
|
git push origin #{@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.
|
||||||
|
|
||||||
:javascript
|
:javascript
|
||||||
$(function(){
|
$(function(){
|
||||||
|
|
|
@ -6,4 +6,7 @@
|
||||||
- if @merge_request.closed_event
|
- if @merge_request.closed_event
|
||||||
by #{link_to_member(@project, @merge_request.closed_event.author, avatar: true)}
|
by #{link_to_member(@project, @merge_request.closed_event.author, avatar: true)}
|
||||||
#{time_ago_with_tooltip(@merge_request.closed_event.created_at)}
|
#{time_ago_with_tooltip(@merge_request.closed_event.created_at)}
|
||||||
%p Changes were not merged into target branch
|
%p
|
||||||
|
= succeed '.' do
|
||||||
|
The changes were not merged into
|
||||||
|
%span.label-branch= @merge_request.target_branch
|
||||||
|
|
|
@ -3,26 +3,26 @@
|
||||||
- [:success, :skipped, :canceled, :failed, :running, :pending].each do |status|
|
- [:success, :skipped, :canceled, :failed, :running, :pending].each do |status|
|
||||||
.ci_widget{class: "ci-#{status}", style: "display:none"}
|
.ci_widget{class: "ci-#{status}", style: "display:none"}
|
||||||
- if status == :success
|
- if status == :success
|
||||||
|
- status = "passed"
|
||||||
= icon("check-circle")
|
= icon("check-circle")
|
||||||
- else
|
- else
|
||||||
= icon("circle")
|
= icon("circle")
|
||||||
%span CI build #{status}
|
%span CI build #{status}
|
||||||
for #{@merge_request.last_commit_short_sha}.
|
for #{@merge_request.last_commit_short_sha}.
|
||||||
%span.ci-coverage
|
%span.ci-coverage
|
||||||
= link_to "View build page", ci_build_details_path(@merge_request), :"data-no-turbolink" => "data-no-turbolink"
|
= link_to "View build details", ci_build_details_path(@merge_request), :"data-no-turbolink" => "data-no-turbolink"
|
||||||
|
|
||||||
.ci_widget
|
.ci_widget
|
||||||
= icon("spinner spin")
|
= icon("spinner spin")
|
||||||
Checking for CI status for #{@merge_request.last_commit_short_sha}
|
Checking CI status for #{@merge_request.last_commit_short_sha}…
|
||||||
|
|
||||||
.ci_widget.ci-not_found{style: "display:none"}
|
.ci_widget.ci-not_found{style: "display:none"}
|
||||||
= icon("times-circle")
|
= icon("times-circle")
|
||||||
%span Can not find commit in the CI server
|
Could not find CI status for #{@merge_request.last_commit_short_sha}.
|
||||||
for #{@merge_request.last_commit_short_sha}.
|
|
||||||
|
|
||||||
.ci_widget.ci-error{style: "display:none"}
|
.ci_widget.ci-error{style: "display:none"}
|
||||||
= icon("times-circle")
|
= icon("times-circle")
|
||||||
%span Cannot connect to the CI server. Please check your settings and try again.
|
Could not connect to the CI server. Please check your settings and try again.
|
||||||
|
|
||||||
:coffeescript
|
:coffeescript
|
||||||
$ ->
|
$ ->
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
= render 'projects/merge_requests/widget/heading'
|
= render 'projects/merge_requests/widget/heading'
|
||||||
.mr-widget-body
|
.mr-widget-body
|
||||||
%h4
|
%h4
|
||||||
Merge in progress...
|
= icon("spinner spin")
|
||||||
|
Merge in progress…
|
||||||
%p
|
%p
|
||||||
Merging is in progress. While merging this request is locked and cannot be closed.
|
This merge request is in the process of being merged, during which time it is locked and cannot be closed.
|
||||||
|
|
||||||
|
|
|
@ -7,23 +7,31 @@
|
||||||
by #{link_to_member(@project, @merge_request.merge_event.author, avatar: true)}
|
by #{link_to_member(@project, @merge_request.merge_event.author, avatar: true)}
|
||||||
#{time_ago_with_tooltip(@merge_request.merge_event.created_at)}
|
#{time_ago_with_tooltip(@merge_request.merge_event.created_at)}
|
||||||
%div
|
%div
|
||||||
- if @source_branch.blank?
|
- if !@merge_request.source_branch_exists?
|
||||||
Source branch has been removed
|
= succeed '.' do
|
||||||
|
The changes were merged into
|
||||||
|
%span.label-branch= @merge_request.target_branch
|
||||||
|
The source branch has been removed.
|
||||||
|
|
||||||
- elsif can_remove_branch?(@merge_request.source_project, @merge_request.source_branch) && @merge_request.merged?
|
- elsif can_remove_branch?(@merge_request.source_project, @merge_request.source_branch)
|
||||||
.remove_source_branch_widget
|
.remove_source_branch_widget
|
||||||
%p Changes merged into #{@merge_request.target_branch}. You can remove source branch now
|
%p
|
||||||
|
= succeed '.' do
|
||||||
|
The changes were merged into
|
||||||
|
%span.label-branch= @merge_request.target_branch
|
||||||
|
You can remove the source branch now.
|
||||||
= link_to namespace_project_branch_path(@merge_request.source_project.namespace, @merge_request.source_project, @source_branch), remote: true, method: :delete, class: "btn btn-primary btn-sm remove_source_branch" do
|
= link_to namespace_project_branch_path(@merge_request.source_project.namespace, @merge_request.source_project, @source_branch), remote: true, method: :delete, class: "btn btn-primary btn-sm remove_source_branch" do
|
||||||
%i.fa.fa-times
|
%i.fa.fa-times
|
||||||
Remove Source Branch
|
Remove Source Branch
|
||||||
|
|
||||||
.remove_source_branch_widget.failed.hide
|
.remove_source_branch_widget.failed.hide
|
||||||
Failed to remove source branch '#{@merge_request.source_branch}'
|
%p
|
||||||
|
Failed to remove source branch '#{@merge_request.source_branch}'.
|
||||||
|
|
||||||
.remove_source_branch_in_progress.hide
|
.remove_source_branch_in_progress.hide
|
||||||
%i.fa.fa-spinner.fa-spin
|
%p
|
||||||
|
= icon('spinner spin')
|
||||||
Removing source branch '#{@merge_request.source_branch}'. Please wait. Page will be automatically reloaded.
|
Removing source branch '#{@merge_request.source_branch}'. Please wait. This page will be automatically reload.
|
||||||
|
|
||||||
:coffeescript
|
:coffeescript
|
||||||
$('.remove_source_branch').on 'click', ->
|
$('.remove_source_branch').on 'click', ->
|
||||||
|
|
|
@ -24,6 +24,6 @@
|
||||||
.mr-widget-footer
|
.mr-widget-footer
|
||||||
%span
|
%span
|
||||||
%i.fa.fa-check
|
%i.fa.fa-check
|
||||||
Accepting this merge request will close #{@closes_issues.size == 1 ? 'issue' : 'issues'}
|
Accepting this merge request will close #{"issue".pluralize(@closes_issues.size)}
|
||||||
= succeed '.' do
|
= succeed '.' do
|
||||||
!= gfm(issues_sentence(@closes_issues))
|
!= gfm(issues_sentence(@closes_issues))
|
||||||
|
|
|
@ -8,10 +8,10 @@
|
||||||
.accept-control.checkbox
|
.accept-control.checkbox
|
||||||
= label_tag :should_remove_source_branch, class: "remove_source_checkbox" do
|
= label_tag :should_remove_source_branch, class: "remove_source_checkbox" do
|
||||||
= check_box_tag :should_remove_source_branch
|
= check_box_tag :should_remove_source_branch
|
||||||
Remove source-branch
|
Remove source branch
|
||||||
.accept-control
|
.accept-control
|
||||||
= link_to "#", class: "modify-merge-commit-link js-toggle-button", title: "Modify merge commit message" do
|
= link_to "#", class: "modify-merge-commit-link js-toggle-button" do
|
||||||
%i.fa.fa-edit
|
= icon('edit')
|
||||||
Modify commit message
|
Modify commit message
|
||||||
.js-toggle-content.hide.prepend-top-20
|
.js-toggle-content.hide.prepend-top-20
|
||||||
= render 'shared/commit_message_container', params: params,
|
= render 'shared/commit_message_container', params: params,
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
|
%h4
|
||||||
|
Project is archived
|
||||||
%p
|
%p
|
||||||
%strong Archived projects do not provide commit access.
|
This merge request cannot be merged because archived projects cannot be written to.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
%strong
|
%strong
|
||||||
%i.fa.fa-spinner.fa-spin
|
= icon("spinner spin")
|
||||||
Checking automatic merge…
|
Checking ability to merge automatically…
|
||||||
|
|
||||||
:coffeescript
|
:coffeescript
|
||||||
$ ->
|
$ ->
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
%h4
|
%h4
|
||||||
This merge request contains merge conflicts that must be resolved.
|
= icon("exclamation-triangle")
|
||||||
|
This merge request contains merge conflicts
|
||||||
|
|
||||||
|
%p
|
||||||
|
Please resolve these conflicts or
|
||||||
- if @merge_request.can_be_merged_by?(current_user)
|
- if @merge_request.can_be_merged_by?(current_user)
|
||||||
%p
|
#{link_to "merge this request manually", "#modal_merge_info", class: "how_to_merge_link vlink", "data-toggle" => "modal"}.
|
||||||
You can merge it manually using the
|
|
||||||
%strong
|
|
||||||
= link_to "command line", "#modal_merge_info", class: "how_to_merge_link vlink", title: "How To Merge", "data-toggle" => "modal"
|
|
||||||
- else
|
- else
|
||||||
%p
|
ask someone with write access to this repository to merge this request manually.
|
||||||
Only those with write access to this repository can merge merge requests.
|
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
%h4
|
|
||||||
Can't be merged
|
|
||||||
%p
|
|
||||||
This merge request can not be accepted because branch
|
|
||||||
- unless @merge_request.source_branch_exists?
|
- unless @merge_request.source_branch_exists?
|
||||||
%span.label.label-inverse= @merge_request.source_branch
|
%h4
|
||||||
does not exist in
|
= icon("exclamation-triangle")
|
||||||
%span.label.label-info= @merge_request.source_project_path
|
Source branch
|
||||||
%br
|
%span.label-branch= source_branch_with_namespace(@merge_request)
|
||||||
%strong Please close this merge request and open a new merge request to change source branches.
|
does not exist
|
||||||
|
%p
|
||||||
|
Please restore the source branch or close this merge request and open a new merge request with a different source branch.
|
||||||
- else
|
- else
|
||||||
%span.label.label-inverse= @merge_request.target_branch
|
%h4
|
||||||
does not exist in
|
= icon("exclamation-triangle")
|
||||||
%span.label.label-info= @merge_request.target_project_path
|
Target branch
|
||||||
%br
|
%span.label-branch= @merge_request.target_branch
|
||||||
%strong Please close this merge request or change to another target branch.
|
does not exist
|
||||||
|
%p
|
||||||
|
Please restore the target branch or use a different target branch.
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
%strong This request can be merged automatically.
|
%h4
|
||||||
Only those with write access to this repository can merge merge requests.
|
Ready to be merged automatically
|
||||||
|
%p
|
||||||
|
Ask someone with write access to this repository to merge this request.
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
%h4 Nothing to merge
|
%h4
|
||||||
%p
|
= icon("exclamation-triangle")
|
||||||
Nothing to merge from
|
Nothing to merge from
|
||||||
%span.label-branch #{@merge_request.source_branch}
|
%span.label-branch= source_branch_with_namespace(@merge_request)
|
||||||
to
|
into
|
||||||
%span.label-branch #{@merge_request.target_branch}
|
%span.label-branch= @merge_request.target_branch
|
||||||
%br
|
%p
|
||||||
Try to use different branches or push new code.
|
Please push new commits to the source branch or use a different target branch.
|
||||||
|
|
|
@ -1 +1,6 @@
|
||||||
This merge request cannot be merged. Try to reload the page.
|
%h4
|
||||||
|
= icon("exclamation-triangle")
|
||||||
|
This merge request failed to be merged automatically
|
||||||
|
|
||||||
|
%p
|
||||||
|
Please reload the page to find out the reason.
|
||||||
|
|
|
@ -1,13 +1,5 @@
|
||||||
- if @merge_request.can_be_merged_by?(current_user)
|
|
||||||
%h4
|
%h4
|
||||||
This merge request cannot be accepted because it is marked as Work In Progress.
|
This merge request is currently a Work In Progress
|
||||||
|
|
||||||
%p
|
%p
|
||||||
%button.btn.disabled{:type => 'button'}
|
When this merge request is ready, remove the "WIP" prefix from the title to allow it to be merged.
|
||||||
%i.fa.fa-warning
|
|
||||||
Accept Merge Request
|
|
||||||
|
|
||||||
When the merge request is ready, remove the "WIP" prefix from the title to allow it to be accepted.
|
|
||||||
- else
|
|
||||||
%strong This merge request is marked as Work In Progress.
|
|
||||||
Only those with write access to this repository can merge merge requests.
|
|
||||||
|
|
|
@ -16,10 +16,10 @@
|
||||||
%p.help-block
|
%p.help-block
|
||||||
- if issuable.work_in_progress?
|
- if issuable.work_in_progress?
|
||||||
Remove the <code>WIP</code> prefix from the title to allow this
|
Remove the <code>WIP</code> prefix from the title to allow this
|
||||||
<strong>Work In Progress</strong> merge request to be accepted when it's ready.
|
<strong>Work In Progress</strong> merge request to be merged when it's ready.
|
||||||
- else
|
- else
|
||||||
Start the title with <code>[WIP]</code> or <code>WIP:</code> to prevent a
|
Start the title with <code>[WIP]</code> or <code>WIP:</code> to prevent a
|
||||||
<strong>Work In Progress</strong> merge request from being accepted before it's ready.
|
<strong>Work In Progress</strong> merge request from being merged before it's ready.
|
||||||
.form-group.issuable-description
|
.form-group.issuable-description
|
||||||
= f.label :description, 'Description', class: 'control-label'
|
= f.label :description, 'Description', class: 'control-label'
|
||||||
.col-sm-10
|
.col-sm-10
|
||||||
|
|
Loading…
Reference in a new issue