Commit cebee31a authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent 7ec26943
......@@ -102,7 +102,6 @@ export default {
this.componentHeight = null;
},
},
activityBarViews,
};
</script>
......
......@@ -35,7 +35,7 @@ class RegistrationsController < Devise::RegistrationsController
end
# Do not show the signed_up notice message when the signup_flow experiment is enabled.
# Instead, show it after succesfully updating the role.
# Instead, show it after successfully updating the role.
flash[:notice] = nil if experiment_enabled?(:signup_flow)
rescue Gitlab::Access::AccessDeniedError
redirect_to(new_user_session_path)
......
......@@ -1091,10 +1091,6 @@ class Repository
end
def rebase(user, merge_request, skip_ci: false)
if Feature.disabled?(:two_step_rebase, default_enabled: true)
return rebase_deprecated(user, merge_request)
end
push_options = []
push_options << Gitlab::PushOptions::CI_SKIP if skip_ci
......
---
title: Update rebasing to use the new two-phase Gitaly Rebase RPC
merge_request: 23546
author:
type: changed
......@@ -484,20 +484,29 @@ POST /groups/:id/boards/:board_id/lists
| `label_id` | integer | yes | The ID of a label |
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/5/boards/1/lists?label_id=5
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/4/boards/12/lists?milestone_id=7
```
Example response:
```json
{
"id" : 1,
"label" : {
"name" : "Testing",
"color" : "#F0AD4E",
"description" : null
},
"position" : 1
"id": 9,
"label": null,
"position": 0,
"milestone": {
"id": 7,
"iid": 3,
"group_id": 12,
"title": "Milestone with due date",
"description": "",
"state": "active",
"created_at": "2017-09-03T07:16:28.596Z",
"updated_at": "2017-09-03T07:16:49.521Z",
"due_date": null,
"start_date": null,
"web_url": "https://gitlab.example.com/groups/issue-reproduce/-/milestones/3"
}
}
```
......
......@@ -65,11 +65,10 @@ There are no special requirements if you are using GitLab.com.
## Jira Configuration
1. In Jira, from the gear menu at the top right, go to `Applications`. Navigate to `DVCS accounts`
from the left navigation menu. Click `Link GitHub account` to start creating a new integration.
1. In Jira, go to **Jira Settings > Applications > DVCS accounts**, then click **Link GitHub Enterprise account** to start creating a new integration.
(We are pretending to be GitHub in this integration until there is further platform support from Jira.)
![Jira DVCS from Dashboard](img/jira_dev_panel_jira_setup_1.png)
![Jira Settings](img/jira_dev_panel_jira_setup_1-1.png)
1. Complete the form
......
......@@ -1618,79 +1618,58 @@ describe Repository do
end
end
context 'when two_step_rebase feature is enabled' do
before do
stub_feature_flags(two_step_rebase: true)
end
it_behaves_like 'a method that can rebase successfully'
it 'executes the new Gitaly RPC' do
expect_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:rebase)
expect_any_instance_of(Gitlab::GitalyClient::OperationService).not_to receive(:user_rebase)
repository.rebase(user, merge_request)
end
describe 'rolling back the `rebase_commit_sha`' do
let(:new_sha) { Digest::SHA1.hexdigest('foo') }
it_behaves_like 'a method that can rebase successfully'
it 'does not rollback when there are no errors' do
second_response = double(pre_receive_error: nil, git_error: nil)
mock_gitaly(second_response)
it 'executes the new Gitaly RPC' do
expect_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:rebase)
expect_any_instance_of(Gitlab::GitalyClient::OperationService).not_to receive(:user_rebase)
repository.rebase(user, merge_request)
repository.rebase(user, merge_request)
end
expect(merge_request.reload.rebase_commit_sha).to eq(new_sha)
end
describe 'rolling back the `rebase_commit_sha`' do
let(:new_sha) { Digest::SHA1.hexdigest('foo') }
it 'does rollback when a PreReceiveError is encountered in the second step' do
second_response = double(pre_receive_error: 'my_error', git_error: nil)
mock_gitaly(second_response)
it 'does not rollback when there are no errors' do
second_response = double(pre_receive_error: nil, git_error: nil)
mock_gitaly(second_response)
expect do
repository.rebase(user, merge_request)
end.to raise_error(Gitlab::Git::PreReceiveError)
repository.rebase(user, merge_request)
expect(merge_request.reload.rebase_commit_sha).to be_nil
end
expect(merge_request.reload.rebase_commit_sha).to eq(new_sha)
end
it 'does rollback when a GitError is encountered in the second step' do
second_response = double(pre_receive_error: nil, git_error: 'git error')
mock_gitaly(second_response)
it 'does rollback when a PreReceiveError is encountered in the second step' do
second_response = double(pre_receive_error: 'my_error', git_error: nil)
mock_gitaly(second_response)
expect do
repository.rebase(user, merge_request)
end.to raise_error(Gitlab::Git::Repository::GitError)
expect do
repository.rebase(user, merge_request)
end.to raise_error(Gitlab::Git::PreReceiveError)
expect(merge_request.reload.rebase_commit_sha).to be_nil
end
expect(merge_request.reload.rebase_commit_sha).to be_nil
end
def mock_gitaly(second_response)
responses = [
double(rebase_sha: new_sha).as_null_object,
second_response
]
it 'does rollback when a GitError is encountered in the second step' do
second_response = double(pre_receive_error: nil, git_error: 'git error')
mock_gitaly(second_response)
expect_any_instance_of(
Gitaly::OperationService::Stub
).to receive(:user_rebase_confirmable).and_return(responses.each)
end
end
end
expect do
repository.rebase(user, merge_request)
end.to raise_error(Gitlab::Git::Repository::GitError)
context 'when two_step_rebase feature is disabled' do
before do
stub_feature_flags(two_step_rebase: false)
expect(merge_request.reload.rebase_commit_sha).to be_nil
end
it_behaves_like 'a method that can rebase successfully'
it 'executes the deprecated Gitaly RPC' do
expect_any_instance_of(Gitlab::GitalyClient::OperationService).to receive(:user_rebase)
expect_any_instance_of(Gitlab::GitalyClient::OperationService).not_to receive(:rebase)
def mock_gitaly(second_response)
responses = [
double(rebase_sha: new_sha).as_null_object,
second_response
]
repository.rebase(user, merge_request)
expect_any_instance_of(
Gitaly::OperationService::Stub
).to receive(:user_rebase_confirmable).and_return(responses.each)
end
end
end
......
......@@ -71,14 +71,6 @@ describe MergeRequests::RebaseService do
it_behaves_like 'sequence of failure and success'
context 'with deprecated step rebase feature' do
before do
stub_feature_flags(two_step_rebase: false)
end
it_behaves_like 'sequence of failure and success'
end
context 'when unexpected error occurs' do
before do
allow(repository).to receive(:gitaly_operation_client).and_raise('Something went wrong')
......@@ -140,21 +132,7 @@ describe MergeRequests::RebaseService do
end
end
context 'when the two_step_rebase feature is enabled' do
before do
stub_feature_flags(two_step_rebase: true)
end
it_behaves_like 'a service that can execute a successful rebase'
end
context 'when the two_step_rebase feature is disabled' do
before do
stub_feature_flags(two_step_rebase: false)
end
it_behaves_like 'a service that can execute a successful rebase'
end
it_behaves_like 'a service that can execute a successful rebase'
context 'when skip_ci flag is set' do
let(:skip_ci) { true }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment