Commit ff7444c4 authored by Lin Jen-Shin's avatar Lin Jen-Shin
parent b17982cf
...@@ -169,14 +169,11 @@ export default Vue.component('environment-folder-view', { ...@@ -169,14 +169,11 @@ export default Vue.component('environment-folder-view', {
:environments="state.environments" :environments="state.environments"
:can-create-deployment="canCreateDeploymentParsed" :can-create-deployment="canCreateDeploymentParsed"
:can-read-environment="canReadEnvironmentParsed" :can-read-environment="canReadEnvironmentParsed"
<<<<<<< HEAD
:play-icon-svg="playIconSvg" :play-icon-svg="playIconSvg"
:terminal-icon-svg="terminalIconSvg" :terminal-icon-svg="terminalIconSvg"
:commit-icon-svg="commitIconSvg" :commit-icon-svg="commitIconSvg"
:toggleDeployBoard="toggleDeployBoard" :toggleDeployBoard="toggleDeployBoard"
:store="store" :store="store"
=======
>>>>>>> 9-1-stable
:service="service"/> :service="service"/>
<table-pagination v-if="state.paginationInformation && state.paginationInformation.totalPages > 1" <table-pagination v-if="state.paginationInformation && state.paginationInformation.totalPages > 1"
......
...@@ -790,13 +790,10 @@ a.allowed-to-push { ...@@ -790,13 +790,10 @@ a.allowed-to-push {
} }
} }
<<<<<<< HEAD
.disabled-item { .disabled-item {
@extend .btn.disabled; @extend .btn.disabled;
} }
=======
>>>>>>> 9-1-stable
.protected-tags-list { .protected-tags-list {
.dropdown-menu-toggle { .dropdown-menu-toggle {
width: 100%; width: 100%;
......
...@@ -3,7 +3,6 @@ class Projects::ProtectedBranchesController < Projects::ProtectedRefsController ...@@ -3,7 +3,6 @@ class Projects::ProtectedBranchesController < Projects::ProtectedRefsController
def project_refs def project_refs
@project.repository.branches @project.repository.branches
<<<<<<< HEAD
end end
def create_service_class def create_service_class
...@@ -20,20 +19,6 @@ class Projects::ProtectedBranchesController < Projects::ProtectedRefsController ...@@ -20,20 +19,6 @@ class Projects::ProtectedBranchesController < Projects::ProtectedRefsController
def access_levels def access_levels
[:merge_access_levels, :push_access_levels] [:merge_access_levels, :push_access_levels]
=======
end
def create_service_class
::ProtectedBranches::CreateService
end
def update_service_class
::ProtectedBranches::UpdateService
end
def load_protected_ref
@protected_ref = @project.protected_branches.find(params[:id])
>>>>>>> 9-1-stable
end end
def protected_ref_params def protected_ref_params
......
...@@ -30,11 +30,7 @@ class Projects::ProtectedRefsController < Projects::ApplicationController ...@@ -30,11 +30,7 @@ class Projects::ProtectedRefsController < Projects::ApplicationController
@protected_ref = update_service_class.new(@project, current_user, protected_ref_params).execute(@protected_ref) @protected_ref = update_service_class.new(@project, current_user, protected_ref_params).execute(@protected_ref)
if @protected_ref.valid? if @protected_ref.valid?
<<<<<<< HEAD
render json: @protected_ref, status: :ok, include: access_levels render json: @protected_ref, status: :ok, include: access_levels
=======
render json: @protected_ref, status: :ok
>>>>>>> 9-1-stable
else else
render json: @protected_ref.errors, status: :unprocessable_entity render json: @protected_ref.errors, status: :unprocessable_entity
end end
......
...@@ -17,13 +17,10 @@ class Projects::ProtectedTagsController < Projects::ProtectedRefsController ...@@ -17,13 +17,10 @@ class Projects::ProtectedTagsController < Projects::ProtectedRefsController
@protected_ref = @project.protected_tags.find(params[:id]) @protected_ref = @project.protected_tags.find(params[:id])
end end
<<<<<<< HEAD
def access_levels def access_levels
[:create_access_levels] [:create_access_levels]
end end
=======
>>>>>>> 9-1-stable
def protected_ref_params def protected_ref_params
params.require(:protected_tag).permit(:name, create_access_levels_attributes: [:access_level, :id]) params.require(:protected_tag).permit(:name, create_access_levels_attributes: [:access_level, :id])
end end
......
...@@ -8,17 +8,13 @@ module Projects ...@@ -8,17 +8,13 @@ module Projects
@deploy_keys = DeployKeysPresenter.new(@project, current_user: current_user) @deploy_keys = DeployKeysPresenter.new(@project, current_user: current_user)
define_protected_refs define_protected_refs
<<<<<<< HEAD
project.create_push_rule unless project.push_rule project.create_push_rule unless project.push_rule
@push_rule = project.push_rule @push_rule = project.push_rule
=======
>>>>>>> 9-1-stable
end end
private private
<<<<<<< HEAD
def remote_mirror def remote_mirror
@remote_mirror = @project.remote_mirrors.first_or_initialize @remote_mirror = @project.remote_mirrors.first_or_initialize
end end
...@@ -35,18 +31,6 @@ module Projects ...@@ -35,18 +31,6 @@ module Projects
{ {
selected_merge_access_levels: @protected_branch.merge_access_levels.map { |access_level| access_level.user_id || access_level.access_level }, selected_merge_access_levels: @protected_branch.merge_access_levels.map { |access_level| access_level.user_id || access_level.access_level },
selected_push_access_levels: @protected_branch.push_access_levels.map { |access_level| access_level.user_id || access_level.access_level }, selected_push_access_levels: @protected_branch.push_access_levels.map { |access_level| access_level.user_id || access_level.access_level },
=======
def define_protected_refs
@protected_branches = @project.protected_branches.order(:name).page(params[:page])
@protected_tags = @project.protected_tags.order(:name).page(params[:page])
@protected_branch = @project.protected_branches.new
@protected_tag = @project.protected_tags.new
load_gon_index
end
def access_levels_options
{
>>>>>>> 9-1-stable
create_access_levels: levels_for_dropdown(ProtectedTag::CreateAccessLevel), create_access_levels: levels_for_dropdown(ProtectedTag::CreateAccessLevel),
push_access_levels: levels_for_dropdown(ProtectedBranch::PushAccessLevel), push_access_levels: levels_for_dropdown(ProtectedBranch::PushAccessLevel),
merge_access_levels: levels_for_dropdown(ProtectedBranch::MergeAccessLevel) merge_access_levels: levels_for_dropdown(ProtectedBranch::MergeAccessLevel)
...@@ -72,10 +56,7 @@ module Projects ...@@ -72,10 +56,7 @@ module Projects
gon.push(protectable_tags_for_dropdown) gon.push(protectable_tags_for_dropdown)
gon.push(protectable_branches_for_dropdown) gon.push(protectable_branches_for_dropdown)
gon.push(access_levels_options) gon.push(access_levels_options)
<<<<<<< HEAD
gon.push(current_project_id: @project.id) if @project gon.push(current_project_id: @project.id) if @project
=======
>>>>>>> 9-1-stable
end end
end end
end end
......
...@@ -33,7 +33,6 @@ module BranchesHelper ...@@ -33,7 +33,6 @@ module BranchesHelper
def protected_branch?(project, branch) def protected_branch?(project, branch)
ProtectedBranch.protected?(project, branch.name) ProtectedBranch.protected?(project, branch.name)
end end
<<<<<<< HEAD
def access_levels_data(access_levels) def access_levels_data(access_levels)
access_levels.map do |level| access_levels.map do |level|
...@@ -53,6 +52,4 @@ module BranchesHelper ...@@ -53,6 +52,4 @@ module BranchesHelper
end end
end end
end end
=======
>>>>>>> 9-1-stable
end end
...@@ -3,10 +3,7 @@ module ProtectedBranchAccess ...@@ -3,10 +3,7 @@ module ProtectedBranchAccess
included do included do
include ProtectedRefAccess include ProtectedRefAccess
<<<<<<< HEAD
include EE::ProtectedBranchAccess include EE::ProtectedBranchAccess
=======
>>>>>>> 9-1-stable
belongs_to :protected_branch belongs_to :protected_branch
......
...@@ -36,12 +36,10 @@ class Group < Namespace ...@@ -36,12 +36,10 @@ class Group < Namespace
validates :avatar, file_size: { maximum: 200.kilobytes.to_i } validates :avatar, file_size: { maximum: 200.kilobytes.to_i }
<<<<<<< HEAD validates :two_factor_grace_period, presence: true, numericality: { greater_than_or_equal_to: 0 }
validates :repository_size_limit, validates :repository_size_limit,
numericality: { only_integer: true, greater_than_or_equal_to: 0, allow_nil: true } numericality: { only_integer: true, greater_than_or_equal_to: 0, allow_nil: true }
=======
validates :two_factor_grace_period, presence: true, numericality: { greater_than_or_equal_to: 0 }
>>>>>>> 9-1-stable
mount_uploader :avatar, AvatarUploader mount_uploader :avatar, AvatarUploader
has_many :uploads, as: :model, dependent: :destroy has_many :uploads, as: :model, dependent: :destroy
......
...@@ -10,15 +10,13 @@ class GroupMember < Member ...@@ -10,15 +10,13 @@ class GroupMember < Member
validates :source_type, format: { with: /\ANamespace\z/ } validates :source_type, format: { with: /\ANamespace\z/ }
default_scope { where(source_type: SOURCE_TYPE) } default_scope { where(source_type: SOURCE_TYPE) }
<<<<<<< HEAD after_create :update_two_factor_requirement, unless: :invite?
after_destroy :update_two_factor_requirement, unless: :invite?
scope :with_ldap_dn, -> { joins(user: :identities).where("identities.provider LIKE ?", 'ldap%') } scope :with_ldap_dn, -> { joins(user: :identities).where("identities.provider LIKE ?", 'ldap%') }
scope :with_identity_provider, ->(provider) do scope :with_identity_provider, ->(provider) do
joins(user: :identities).where(identities: { provider: provider }) joins(user: :identities).where(identities: { provider: provider })
end end
=======
after_create :update_two_factor_requirement, unless: :invite?
after_destroy :update_two_factor_requirement, unless: :invite?
>>>>>>> 9-1-stable
def self.access_level_roles def self.access_level_roles
Gitlab::Access.options_with_owner Gitlab::Access.options_with_owner
......
...@@ -987,14 +987,11 @@ class Project < ActiveRecord::Base ...@@ -987,14 +987,11 @@ class Project < ActiveRecord::Base
Gitlab::UrlSanitizer.new("#{web_url}.git", credentials: credentials).full_url Gitlab::UrlSanitizer.new("#{web_url}.git", credentials: credentials).full_url
end end
<<<<<<< HEAD
# No need to have a Kerberos Web url. Kerberos URL will be used only to clone # No need to have a Kerberos Web url. Kerberos URL will be used only to clone
def kerberos_url_to_repo def kerberos_url_to_repo
"#{Gitlab.config.build_gitlab_kerberos_url + Gitlab::Application.routes.url_helpers.namespace_project_path(self.namespace, self)}.git" "#{Gitlab.config.build_gitlab_kerberos_url + Gitlab::Application.routes.url_helpers.namespace_project_path(self.namespace, self)}.git"
end end
=======
>>>>>>> 9-1-stable
def user_can_push_to_empty_repo?(user) def user_can_push_to_empty_repo?(user)
!ProtectedBranch.default_branch_protected? || team.max_member_access(user.id) > Gitlab::Access::DEVELOPER !ProtectedBranch.default_branch_protected? || team.max_member_access(user.id) > Gitlab::Access::DEVELOPER
end end
......
...@@ -7,14 +7,9 @@ module ChatMessage ...@@ -7,14 +7,9 @@ module ChatMessage
attr_reader :title attr_reader :title
def initialize(params) def initialize(params)
<<<<<<< HEAD
@user_name = params[:user][:username]
@project_name = params[:project_name]
@project_url = params[:project_url]
@action = params[:object_attributes][:action]
=======
super super
>>>>>>> 9-1-stable
@action = params[:object_attributes][:action]
obj_attr = params[:object_attributes] obj_attr = params[:object_attributes]
obj_attr = HashWithIndifferentAccess.new(obj_attr) obj_attr = HashWithIndifferentAccess.new(obj_attr)
......
...@@ -11,7 +11,6 @@ class ProtectedBranch < ActiveRecord::Base ...@@ -11,7 +11,6 @@ class ProtectedBranch < ActiveRecord::Base
accepts_nested_attributes_for :push_access_levels, allow_destroy: true accepts_nested_attributes_for :push_access_levels, allow_destroy: true
accepts_nested_attributes_for :merge_access_levels, allow_destroy: true accepts_nested_attributes_for :merge_access_levels, allow_destroy: true
<<<<<<< HEAD
# Returns all merge access levels (for protected branches in scope) that grant merge # Returns all merge access levels (for protected branches in scope) that grant merge
# access to the given user. # access to the given user.
scope :merge_access_by_user, -> (user) { MergeAccessLevel.joins(:protected_branch).where(protected_branch_id: self.ids).merge(MergeAccessLevel.by_user(user)) } scope :merge_access_by_user, -> (user) { MergeAccessLevel.joins(:protected_branch).where(protected_branch_id: self.ids).merge(MergeAccessLevel.by_user(user)) }
...@@ -46,8 +45,6 @@ class ProtectedBranch < ActiveRecord::Base ...@@ -46,8 +45,6 @@ class ProtectedBranch < ActiveRecord::Base
end end
end end
=======
>>>>>>> 9-1-stable
# Check if branch name is marked as protected in the system # Check if branch name is marked as protected in the system
def self.protected?(project, ref_name) def self.protected?(project, ref_name)
return true if project.empty_repo? && default_branch_protected? return true if project.empty_repo? && default_branch_protected?
......
...@@ -90,15 +90,7 @@ class User < ActiveRecord::Base ...@@ -90,15 +90,7 @@ class User < ActiveRecord::Base
has_many :events, dependent: :destroy, foreign_key: :author_id has_many :events, dependent: :destroy, foreign_key: :author_id
has_many :subscriptions, dependent: :destroy has_many :subscriptions, dependent: :destroy
has_many :recent_events, -> { order "id DESC" }, foreign_key: :author_id, class_name: "Event" has_many :recent_events, -> { order "id DESC" }, foreign_key: :author_id, class_name: "Event"
<<<<<<< HEAD
has_many :assigned_issues, dependent: :destroy, foreign_key: :assignee_id, class_name: "Issue"
has_many :assigned_merge_requests, dependent: :destroy, foreign_key: :assignee_id, class_name: "MergeRequest"
has_many :oauth_applications, class_name: 'Doorkeeper::Application', as: :owner, dependent: :destroy has_many :oauth_applications, class_name: 'Doorkeeper::Application', as: :owner, dependent: :destroy
has_many :approvals, dependent: :destroy
has_many :approvers, dependent: :destroy
=======
has_many :oauth_applications, class_name: 'Doorkeeper::Application', as: :owner, dependent: :destroy
>>>>>>> 9-1-stable
has_one :abuse_report, dependent: :destroy, foreign_key: :user_id has_one :abuse_report, dependent: :destroy, foreign_key: :user_id
has_many :reported_abuse_reports, dependent: :destroy, foreign_key: :reporter_id, class_name: "AbuseReport" has_many :reported_abuse_reports, dependent: :destroy, foreign_key: :reporter_id, class_name: "AbuseReport"
has_many :spam_logs, dependent: :destroy has_many :spam_logs, dependent: :destroy
...@@ -109,6 +101,9 @@ class User < ActiveRecord::Base ...@@ -109,6 +101,9 @@ class User < ActiveRecord::Base
has_many :award_emoji, dependent: :destroy has_many :award_emoji, dependent: :destroy
has_many :path_locks, dependent: :destroy has_many :path_locks, dependent: :destroy
has_many :approvals, dependent: :destroy
has_many :approvers, dependent: :destroy
# Protected Branch Access # Protected Branch Access
has_many :protected_branch_merge_access_levels, dependent: :destroy, class_name: ProtectedBranch::MergeAccessLevel has_many :protected_branch_merge_access_levels, dependent: :destroy, class_name: ProtectedBranch::MergeAccessLevel
has_many :protected_branch_push_access_levels, dependent: :destroy, class_name: ProtectedBranch::PushAccessLevel has_many :protected_branch_push_access_levels, dependent: :destroy, class_name: ProtectedBranch::PushAccessLevel
......
...@@ -34,8 +34,6 @@ module Projects ...@@ -34,8 +34,6 @@ module Projects
unless remove_legacy_registry_tags unless remove_legacy_registry_tags
raise_error('Failed to remove some tags in project container registry. Please try again or contact administrator.') raise_error('Failed to remove some tags in project container registry. Please try again or contact administrator.')
<<<<<<< HEAD
=======
end end
unless remove_repository(repo_path) unless remove_repository(repo_path)
...@@ -44,7 +42,6 @@ module Projects ...@@ -44,7 +42,6 @@ module Projects
unless remove_repository(wiki_path) unless remove_repository(wiki_path)
raise_error('Failed to remove wiki repository. Please try again or contact administrator.') raise_error('Failed to remove wiki repository. Please try again or contact administrator.')
>>>>>>> 9-1-stable
end end
end end
...@@ -114,15 +111,12 @@ module Projects ...@@ -114,15 +111,12 @@ module Projects
ContainerRepository.build_root_repository(project).tap do |repository| ContainerRepository.build_root_repository(project).tap do |repository|
return repository.has_tags? ? repository.delete_tags! : true return repository.has_tags? ? repository.delete_tags! : true
end end
<<<<<<< HEAD
end end
def remove_tracking_entries! def remove_tracking_entries!
return unless Gitlab::Geo.secondary? return unless Gitlab::Geo.secondary?
Geo::ProjectRegistry.where(project_id: project.id).delete_all Geo::ProjectRegistry.where(project_id: project.id).delete_all
=======
>>>>>>> 9-1-stable
end end
def raise_error(message) def raise_error(message)
......
...@@ -33,10 +33,7 @@ ...@@ -33,10 +33,7 @@
= sort_title_recently_updated = sort_title_recently_updated
= link_to admin_users_path(sort: sort_value_oldest_updated, filter: params[:filter]) do = link_to admin_users_path(sort: sort_value_oldest_updated, filter: params[:filter]) do
= sort_title_oldest_updated = sort_title_oldest_updated
<<<<<<< HEAD
= link_to 'Send email to users', admin_email_path, class: 'btn' = link_to 'Send email to users', admin_email_path, class: 'btn'
=======
>>>>>>> 9-1-stable
= link_to 'New user', new_admin_user_path, class: 'btn btn-new btn-search' = link_to 'New user', new_admin_user_path, class: 'btn btn-new btn-search'
.nav-block .nav-block
......
...@@ -34,11 +34,8 @@ ...@@ -34,11 +34,8 @@
tree_join(@commit.sha, @path)), class: 'btn btn-sm js-data-file-blob-permalink-url' tree_join(@commit.sha, @path)), class: 'btn btn-sm js-data-file-blob-permalink-url'
.btn-group{ role: "group" }< .btn-group{ role: "group" }<
<<<<<<< HEAD
- if current_user - if current_user
= lock_file_link(html_options: {class: 'btn btn-sm path-lock'}) = lock_file_link(html_options: {class: 'btn btn-sm path-lock'})
=======
>>>>>>> 9-1-stable
= edit_blob_link if blob_text_viewable?(blob) = edit_blob_link if blob_text_viewable?(blob)
- if current_user - if current_user
= replace_blob_link = replace_blob_link
......
...@@ -9,13 +9,8 @@ ...@@ -9,13 +9,8 @@
.accept-action .accept-action
- if @pipeline && @pipeline.active? - if @pipeline && @pipeline.active?
%span.btn-group %span.btn-group
<<<<<<< HEAD
= button_tag class: "btn btn-info js-merge-when-pipeline-succeeds-button merge-when-pipeline-succeeds", disabled: !@merge_request.approved?, ":disabled" => "disableAcceptance" do = button_tag class: "btn btn-info js-merge-when-pipeline-succeeds-button merge-when-pipeline-succeeds", disabled: !@merge_request.approved?, ":disabled" => "disableAcceptance" do
Merge When Pipeline Succeeds Merge When Pipeline Succeeds
=======
= button_tag class: "btn btn-info js-merge-when-pipeline-succeeds-button merge-when-pipeline-succeeds" do
Merge when pipeline succeeds
>>>>>>> 9-1-stable
- unless @project.only_allow_merge_if_pipeline_succeeds? - unless @project.only_allow_merge_if_pipeline_succeeds?
= button_tag class: "btn btn-info dropdown-toggle", 'data-toggle' => 'dropdown', disabled: !@merge_request.approved?, ":disabled" => "disableAcceptance" do = button_tag class: "btn btn-info dropdown-toggle", 'data-toggle' => 'dropdown', disabled: !@merge_request.approved?, ":disabled" => "disableAcceptance" do
= icon('caret-down') = icon('caret-down')
...@@ -31,13 +26,8 @@ ...@@ -31,13 +26,8 @@
= icon('warning fw') = icon('warning fw')
Merge immediately Merge immediately
- else - else
<<<<<<< HEAD
= f.button class: "btn btn-grouped js-merge-button accept-merge-request", disabled: !@merge_request.approved?, ":disabled" => "disableAcceptance" do = f.button class: "btn btn-grouped js-merge-button accept-merge-request", disabled: !@merge_request.approved?, ":disabled" => "disableAcceptance" do
Accept Merge Request Accept Merge Request
=======
= f.button class: "btn btn-grouped js-merge-button accept-merge-request" do
Accept merge request
>>>>>>> 9-1-stable
- if @merge_request.force_remove_source_branch? - if @merge_request.force_remove_source_branch?
.accept-control .accept-control
The source branch will be removed. The source branch will be removed.
......
...@@ -23,11 +23,8 @@ ...@@ -23,11 +23,8 @@
= text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true = text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true
.input-group-btn .input-group-btn
= clipboard_button(target: '#project_clone', title: "Copy URL to clipboard") = clipboard_button(target: '#project_clone', title: "Copy URL to clipboard")
<<<<<<< HEAD
= geo_button(modal_target: '#modal-geo-info') if Gitlab::Geo.secondary? = geo_button(modal_target: '#modal-geo-info') if Gitlab::Geo.secondary?
=======
>>>>>>> 9-1-stable
:javascript :javascript
$('ul.clone-options-dropdown a').on('click',function(e){ $('ul.clone-options-dropdown a').on('click',function(e){
......
...@@ -148,7 +148,6 @@ constraints(ProjectUrlConstrainer.new) do ...@@ -148,7 +148,6 @@ constraints(ProjectUrlConstrainer.new) do
resource :release, only: [:edit, :update] resource :release, only: [:edit, :update]
end end
<<<<<<< HEAD
## EE-specific ## EE-specific
resources :path_locks, only: [:index, :destroy] do resources :path_locks, only: [:index, :destroy] do
collection do collection do
...@@ -167,9 +166,7 @@ constraints(ProjectUrlConstrainer.new) do ...@@ -167,9 +166,7 @@ constraints(ProjectUrlConstrainer.new) do
resources :push_access_levels, only: [:destroy] resources :push_access_levels, only: [:destroy]
end end
end end
=======
resources :protected_branches, only: [:index, :show, :create, :update, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex }
>>>>>>> 9-1-stable
resources :protected_tags, only: [:index, :show, :create, :update, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex } resources :protected_tags, only: [:index, :show, :create, :update, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex }
resources :variables, only: [:index, :show, :update, :create, :destroy] resources :variables, only: [:index, :show, :update, :create, :destroy]
......
...@@ -11,12 +11,7 @@ ...@@ -11,12 +11,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
<<<<<<< HEAD
ActiveRecord::Schema.define(version: 20170407140450) do
=======
ActiveRecord::Schema.define(version: 20170408033905) do ActiveRecord::Schema.define(version: 20170408033905) do
>>>>>>> 9-1-stable
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"
enable_extension "pg_trgm" enable_extension "pg_trgm"
...@@ -848,13 +843,10 @@ ActiveRecord::Schema.define(version: 20170408033905) do ...@@ -848,13 +843,10 @@ ActiveRecord::Schema.define(version: 20170408033905) do
t.text "description_html" t.text "description_html"
t.boolean "lfs_enabled" t.boolean "lfs_enabled"
t.integer "parent_id" t.integer "parent_id"
<<<<<<< HEAD
t.integer "shared_runners_minutes_limit"
t.integer "repository_size_limit", limit: 8
=======
t.boolean "require_two_factor_authentication", default: false, null: false t.boolean "require_two_factor_authentication", default: false, null: false
t.integer "two_factor_grace_period", default: 48, null: false t.integer "two_factor_grace_period", default: 48, null: false
>>>>>>> 9-1-stable t.integer "shared_runners_minutes_limit"
t.integer "repository_size_limit", limit: 8
end end
add_index "namespaces", ["created_at"], name: "index_namespaces_on_created_at", using: :btree add_index "namespaces", ["created_at"], name: "index_namespaces_on_created_at", using: :btree
...@@ -1110,12 +1102,9 @@ ActiveRecord::Schema.define(version: 20170408033905) do ...@@ -1110,12 +1102,9 @@ ActiveRecord::Schema.define(version: 20170408033905) do
t.boolean "lfs_enabled" t.boolean "lfs_enabled"
t.text "description_html" t.text "description_html"
t.boolean "only_allow_merge_if_all_discussions_are_resolved" t.boolean "only_allow_merge_if_all_discussions_are_resolved"
<<<<<<< HEAD t.integer "auto_cancel_pending_pipelines", default: 0, null: false
t.integer "repository_size_limit", limit: 8 t.integer "repository_size_limit", limit: 8
t.integer "sync_time", default: 60, null: false t.integer "sync_time", default: 60, null: false
=======
t.integer "auto_cancel_pending_pipelines", default: 0, null: false
>>>>>>> 9-1-stable
t.boolean "printing_merge_request_link_enabled", default: true, null: false t.boolean "printing_merge_request_link_enabled", default: true, null: false
t.string "import_jid" t.string "import_jid"
t.boolean "service_desk_enabled" t.boolean "service_desk_enabled"
...@@ -1194,7 +1183,6 @@ ActiveRecord::Schema.define(version: 20170408033905) do ...@@ -1194,7 +1183,6 @@ ActiveRecord::Schema.define(version: 20170408033905) do
add_index "protected_tags", ["project_id"], name: "index_protected_tags_on_project_id", using: :btree add_index "protected_tags", ["project_id"], name: "index_protected_tags_on_project_id", using: :btree
<<<<<<< HEAD
create_table "push_rules", force: :cascade do |t| create_table "push_rules", force: :cascade do |t|
t.string "force_push_regex" t.string "force_push_regex"
t.string "delete_branch_regex" t.string "delete_branch_regex"
...@@ -1213,8 +1201,6 @@ ActiveRecord::Schema.define(version: 20170408033905) do ...@@ -1213,8 +1201,6 @@ ActiveRecord::Schema.define(version: 20170408033905) do
add_index "push_rules", ["project_id"], name: "index_push_rules_on_project_id", using: :btree add_index "push_rules", ["project_id"], name: "index_push_rules_on_project_id", using: :btree
=======
>>>>>>> 9-1-stable
create_table "releases", force: :cascade do |t| create_table "releases", force: :cascade do |t|
t.string "tag" t.string "tag"
t.text "description" t.text "description"
...@@ -1522,12 +1508,9 @@ ActiveRecord::Schema.define(version: 20170408033905) do ...@@ -1522,12 +1508,9 @@ ActiveRecord::Schema.define(version: 20170408033905) do
t.boolean "ghost" t.boolean "ghost"
t.date "last_activity_on" t.date "last_activity_on"
t.boolean "notified_of_own_activity" t.boolean "notified_of_own_activity"
<<<<<<< HEAD
t.boolean "support_bot"
=======
t.boolean "require_two_factor_authentication_from_group", default: false, null: false t.boolean "require_two_factor_authentication_from_group", default: false, null: false
t.integer "two_factor_grace_period", default: 48, null: false t.integer "two_factor_grace_period", default: 48, null: false
>>>>>>> 9-1-stable t.boolean "support_bot"
end end
add_index "users", ["admin"], name: "index_users_on_admin", using: :btree add_index "users", ["admin"], name: "index_users_on_admin", using: :btree
...@@ -1610,17 +1593,11 @@ ActiveRecord::Schema.define(version: 20170408033905) do ...@@ -1610,17 +1593,11 @@ ActiveRecord::Schema.define(version: 20170408033905) do
add_foreign_key "protected_branch_merge_access_levels", "users" add_foreign_key "protected_branch_merge_access_levels", "users"
add_foreign_key "protected_branch_push_access_levels", "namespaces", column: "group_id" add_foreign_key "protected_branch_push_access_levels", "namespaces", column: "group_id"
add_foreign_key "protected_branch_push_access_levels", "protected_branches" add_foreign_key "protected_branch_push_access_levels", "protected_branches"
<<<<<<< HEAD
add_foreign_key "protected_branch_push_access_levels", "users" add_foreign_key "protected_branch_push_access_levels", "users"
add_foreign_key "protected_tag_create_access_levels", "namespaces", column: "group_id" add_foreign_key "protected_tag_create_access_levels", "namespaces", column: "group_id"
add_foreign_key "protected_tag_create_access_levels", "protected_tags" add_foreign_key "protected_tag_create_access_levels", "protected_tags"
add_foreign_key "protected_tag_create_access_levels", "users" add_foreign_key "protected_tag_create_access_levels", "users"
add_foreign_key "remote_mirrors", "projects" add_foreign_key "remote_mirrors", "projects"
=======
add_foreign_key "protected_tag_create_access_levels", "namespaces", column: "group_id"
add_foreign_key "protected_tag_create_access_levels", "protected_tags"
add_foreign_key "protected_tag_create_access_levels", "users"
>>>>>>> 9-1-stable
add_foreign_key "subscriptions", "projects", on_delete: :cascade add_foreign_key "subscriptions", "projects", on_delete: :cascade
add_foreign_key "system_note_metadata", "notes", name: "fk_d83a918cb1", on_delete: :cascade add_foreign_key "system_note_metadata", "notes", name: "fk_d83a918cb1", on_delete: :cascade
add_foreign_key "timelogs", "issues", name: "fk_timelogs_issues_issue_id", on_delete: :cascade add_foreign_key "timelogs", "issues", name: "fk_timelogs_issues_issue_id", on_delete: :cascade
......
...@@ -25,22 +25,15 @@ All technical content published by GitLab lives in the documentation, including: ...@@ -25,22 +25,15 @@ All technical content published by GitLab lives in the documentation, including:
- [GitLab basics](gitlab-basics/README.md) Find step by step how to start working on your commandline and on GitLab. - [GitLab basics](gitlab-basics/README.md) Find step by step how to start working on your commandline and on GitLab.
- [GitLab Pages](user/project/pages/index.md) Using GitLab Pages. - [GitLab Pages](user/project/pages/index.md) Using GitLab Pages.
- [Importing and exporting projects between instances](user/project/settings/import_export.md). - [Importing and exporting projects between instances](user/project/settings/import_export.md).
<<<<<<< HEAD
- [Koding](user/project/koding.md) Learn how to use Koding, the online IDE.
=======
- [Importing to GitLab](workflow/importing/README.md) Import your projects from GitHub, Bitbucket, GitLab.com, FogBugz and SVN into GitLab. - [Importing to GitLab](workflow/importing/README.md) Import your projects from GitHub, Bitbucket, GitLab.com, FogBugz and SVN into GitLab.
>>>>>>> 9-1-stable
- [Markdown](user/markdown.md) GitLab's advanced formatting system. - [Markdown](user/markdown.md) GitLab's advanced formatting system.
- [Migrating from SVN](workflow/importing/migrating_from_svn.md) Convert a SVN repository to Git and GitLab. - [Migrating from SVN](workflow/importing/migrating_from_svn.md) Convert a SVN repository to Git and GitLab.
- [Permissions](user/permissions.md) Learn what each role in a project (external/guest/reporter/developer/master/owner) can do. - [Permissions](user/permissions.md) Learn what each role in a project (external/guest/reporter/developer/master/owner) can do.
- [Profile Settings](profile/README.md) - [Profile Settings](profile/README.md)
- [Project Services](user/project/integrations/project_services.md) Integrate a project with external services, such as CI and chat. - [Project Services](user/project/integrations/project_services.md) Integrate a project with external services, such as CI and chat.
- [Public access](public_access/public_access.md) Learn how you can allow public and internal access to projects. - [Public access](public_access/public_access.md) Learn how you can allow public and internal access to projects.
<<<<<<< HEAD
- [Analytics](analytics/README.md) - [Analytics](analytics/README.md)
=======
- [Search through GitLab](user/search/index.md): Search for issues, merge requests, projects, groups, todos, and issues in Issue Boards. - [Search through GitLab](user/search/index.md): Search for issues, merge requests, projects, groups, todos, and issues in Issue Boards.
>>>>>>> 9-1-stable
- [Snippets](user/snippets.md) Snippets allow you to create little bits of code. - [Snippets](user/snippets.md) Snippets allow you to create little bits of code.
- [SSH](ssh/README.md) Setup your ssh keys and deploy keys for secure access to your projects. - [SSH](ssh/README.md) Setup your ssh keys and deploy keys for secure access to your projects.
- [Webhooks](user/project/integrations/webhooks.md) Let GitLab notify you when new code has been pushed to your project. - [Webhooks](user/project/integrations/webhooks.md) Let GitLab notify you when new code has been pushed to your project.
...@@ -51,18 +44,10 @@ All technical content published by GitLab lives in the documentation, including: ...@@ -51,18 +44,10 @@ All technical content published by GitLab lives in the documentation, including:
- [Upload your GitLab License](user/admin_area/license.md) Upload the license you purchased for GitLab Enterprise Edition to unlock its features. - [Upload your GitLab License](user/admin_area/license.md) Upload the license you purchased for GitLab Enterprise Edition to unlock its features.
- [Audit Events](administration/audit_events.md) Check how user access changed in projects and groups. - [Audit Events](administration/audit_events.md) Check how user access changed in projects and groups.
- [Access restrictions](user/admin_area/settings/visibility_and_access_controls.md#enabled-git-access-protocols) Define which Git access protocols can be used to talk to GitLab - [Access restrictions](user/admin_area/settings/visibility_and_access_controls.md#enabled-git-access-protocols) Define which Git access protocols can be used to talk to GitLab
<<<<<<< HEAD
- [Authentication/Authorization](administration/auth/README.md) Configure
external authentication with LDAP, SAML, CAS and additional Omniauth providers.
- [Changing the appearance of the login page](customization/branded_login_page.md) Make the login page branded for your GitLab instance. - [Changing the appearance of the login page](customization/branded_login_page.md) Make the login page branded for your GitLab instance.
- [Custom git hooks](administration/custom_hooks.md) Custom git hooks (on the filesystem) for when webhooks aren't enough.
- [Email](tools/email.md) Email GitLab users from GitLab - [Email](tools/email.md) Email GitLab users from GitLab
- [Push Rules](push_rules/push_rules.md) Advanced push rules for your project. - [Push Rules](push_rules/push_rules.md) Advanced push rules for your project.
- [Help message](customization/help_message.md) Set information about administrators of your GitLab instance. - [Help message](customization/help_message.md) Set information about administrators of your GitLab instance.
- [Install](install/README.md) Requirements, directory structures and installation from source.
- [Integration](integration/README.md) How to integrate with systems such as JIRA, Redmine, LDAP and Twitter.
- [Restart GitLab](administration/restart_gitlab.md) Learn how to restart GitLab and its components.
=======
- [Authentication/Authorization](administration/auth/README.md) Configure external authentication with LDAP, SAML, CAS and additional Omniauth providers. - [Authentication/Authorization](administration/auth/README.md) Configure external authentication with LDAP, SAML, CAS and additional Omniauth providers.
- [Container Registry](administration/container_registry.md) Configure Docker Registry with GitLab. - [Container Registry](administration/container_registry.md) Configure Docker Registry with GitLab.
- [Custom Git hooks](administration/custom_hooks.md) Custom Git hooks (on the filesystem) for when webhooks aren't enough. - [Custom Git hooks](administration/custom_hooks.md) Custom Git hooks (on the filesystem) for when webhooks aren't enough.
...@@ -77,7 +62,6 @@ All technical content published by GitLab lives in the documentation, including: ...@@ -77,7 +62,6 @@ All technical content published by GitLab lives in the documentation, including:
- [Housekeeping](administration/housekeeping.md) Keep your Git repository tidy and fast. - [Housekeeping](administration/housekeeping.md) Keep your Git repository tidy and fast.
- [Install](install/README.md) Requirements, directory structures and installation from source. - [Install](install/README.md) Requirements, directory structures and installation from source.
- [Integration](integration/README.md) How to integrate with systems such as JIRA, Redmine, Twitter. - [Integration](integration/README.md) How to integrate with systems such as JIRA, Redmine, Twitter.
>>>>>>> 9-1-stable
- [Issue closing pattern](administration/issue_closing_pattern.md) Customize how to close an issue from commit messages. - [Issue closing pattern](administration/issue_closing_pattern.md) Customize how to close an issue from commit messages.
- [Koding](administration/integration/koding.md) Set up Koding to use with GitLab. - [Koding](administration/integration/koding.md) Set up Koding to use with GitLab.
- [Libravatar](customization/libravatar.md) Use Libravatar instead of Gravatar for user avatars. - [Libravatar](customization/libravatar.md) Use Libravatar instead of Gravatar for user avatars.
...@@ -97,30 +81,13 @@ All technical content published by GitLab lives in the documentation, including: ...@@ -97,30 +81,13 @@ All technical content published by GitLab lives in the documentation, including:
- [Update](update/README.md) Update guides to upgrade your installation. - [Update](update/README.md) Update guides to upgrade your installation.
- [Web terminals](administration/integration/terminal.md) Provide terminal access to environments from within GitLab. - [Web terminals](administration/integration/terminal.md) Provide terminal access to environments from within GitLab.
- [Welcome message](customization/welcome_message.md) Add a custom welcome message to the sign-in page. - [Welcome message](customization/welcome_message.md) Add a custom welcome message to the sign-in page.
<<<<<<< HEAD
- [Header logo](customization/branded_page_and_email_header.md) Change the logo on the overall page and email header.
- [Reply by email](administration/reply_by_email.md) Allow users to comment on issues and merge requests by replying to notification emails.
- [Migrate GitLab CI to CE/EE](migrate_ci_to_ce/README.md) Follow this guide to migrate your existing GitLab CI data to GitLab CE/EE.
- [Downgrade back to CE](downgrade_ee_to_ce/README.md) Follow this guide if you need to downgrade from EE to CE. - [Downgrade back to CE](downgrade_ee_to_ce/README.md) Follow this guide if you need to downgrade from EE to CE.
- [Git LFS configuration](workflow/lfs/lfs_administration.md)
- [Housekeeping](administration/housekeeping.md) Keep your Git repository tidy and fast.
- [GitLab Pages configuration](administration/pages/index.md) Configure GitLab Pages.
- [Elasticsearch](integration/elasticsearch.md) Enable Elasticsearch. - [Elasticsearch](integration/elasticsearch.md) Enable Elasticsearch.
- [GitLab GEO](gitlab-geo/README.md) Configure GitLab GEO, a secondary read-only GitLab instance. - [GitLab GEO](gitlab-geo/README.md) Configure GitLab GEO, a secondary read-only GitLab instance.
- [GitLab performance monitoring with InfluxDB](administration/monitoring/performance/introduction.md) Configure GitLab and InfluxDB for measuring performance metrics.
- [GitLab performance monitoring with Prometheus](administration/monitoring/prometheus/index.md) Configure GitLab and Prometheus for measuring performance metrics.
- [Request Profiling](administration/monitoring/performance/request_profiling.md) Get a detailed profile on slow requests.
- [Monitoring uptime](user/admin_area/monitoring/health_check.md) Check the server status using the health check endpoint.
- [Debugging Tips](administration/troubleshooting/debug.md) Tips to debug problems when things go wrong
- [Sidekiq Troubleshooting](administration/troubleshooting/sidekiq.md) Debug when Sidekiq appears hung and is not processing jobs.
- [High Availability](administration/high_availability/README.md) Configure multiple servers for scaling or high availability.
- [Container Registry](administration/container_registry.md) Configure Docker Registry with GitLab.
- [Repository restrictions](user/admin_area/settings/account_and_limit_settings.md#repository-size-limit) Define size restrictions for your repositories to limit the space they occupy in your storage device. Includes LFS objects. - [Repository restrictions](user/admin_area/settings/account_and_limit_settings.md#repository-size-limit) Define size restrictions for your repositories to limit the space they occupy in your storage device. Includes LFS objects.
- [Auditor users](administration/auditor_users.md) Create auditor users, with read-only access to the entire system. - [Auditor users](administration/auditor_users.md) Create auditor users, with read-only access to the entire system.
- [Database load balancing](administration/database_load_balancing.md) Distribute database queries amongst multiple database servers. - [Database load balancing](administration/database_load_balancing.md) Distribute database queries amongst multiple database servers.
- [User cohorts](user/admin_area/user_cohorts.md) View user activity over time. - [User cohorts](user/admin_area/user_cohorts.md) View user activity over time.
=======
>>>>>>> 9-1-stable
## Contributor documentation ## Contributor documentation
......
...@@ -333,7 +333,6 @@ Creates a new project issue. ...@@ -333,7 +333,6 @@ Creates a new project issue.
POST /projects/:id/issues POST /projects/:id/issues
``` ```
<<<<<<< HEAD
|-------------------------------------------+---------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------| |-------------------------------------------+---------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------|
| Attribute | Type | Required | Description | | Attribute | Type | Required | Description |
|-------------------------------------------+---------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------| |-------------------------------------------+---------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------|
...@@ -352,21 +351,6 @@ POST /projects/:id/issues ...@@ -352,21 +351,6 @@ POST /projects/:id/issues
| - | - | - | as resolved. Use in combination with `merge_request_to_resolve_discussions_of`. | | - | - | - | as resolved. Use in combination with `merge_request_to_resolve_discussions_of`. |
| `weight` | integer | no | The weight of the issue in range 0 to 9 | | `weight` | integer | no | The weight of the issue in range 0 to 9 |
|-------------------------------------------+---------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------| |-------------------------------------------+---------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------|
=======
| Attribute | Type | Required | Description |
|-------------------------------------------|---------|----------|--------------|
| `id` | integer | yes | The ID of a project |
| `title` | string | yes | The title of an issue |
| `description` | string | no | The description of an issue |
| `confidential` | boolean | no | Set an issue to be confidential. Default is `false`. |
| `assignee_id` | integer | no | The ID of a user to assign issue |
| `milestone_id` | integer | no | The ID of a milestone to assign issue |
| `labels` | string | no | Comma-separated label names for an issue |
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) |
| `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` |
| `merge_request_to_resolve_discussions_of` | integer | no | The IID of a merge request in which to resolve all issues. This will fill the issue with a default description and mark all discussions as resolved. When passing a description or title, these values will take precedence over the default values.|
| `discussion_to_resolve` | string | no | The ID of a discussion to resolve. This will fill in the issue with a default description and mark the discussion as resolved. Use in combination with `merge_request_to_resolve_discussions_of`. |
>>>>>>> 9-1-stable
```bash ```bash
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/4/issues?title=Issues%20with%20auth&labels=bug curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/4/issues?title=Issues%20with%20auth&labels=bug
...@@ -428,11 +412,8 @@ PUT /projects/:id/issues/:issue_iid ...@@ -428,11 +412,8 @@ PUT /projects/:id/issues/:issue_iid
| `state_event` | string | no | The state event of an issue. Set `close` to close the issue and `reopen` to reopen it | | `state_event` | string | no | The state event of an issue. Set `close` to close the issue and `reopen` to reopen it |
| `updated_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) | | `updated_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) |
| `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` | | `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` |
<<<<<<< HEAD
| `weight` | integer | no | The weight of the issue in range 0 to 9 | | `weight` | integer | no | The weight of the issue in range 0 to 9 |
|----------------+---------+----------+------------------------------------------------------------------------------------------------------------| |----------------+---------+----------+------------------------------------------------------------------------------------------------------------|
=======
>>>>>>> 9-1-stable
```bash ```bash
curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/4/issues/85?state_event=close curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v4/projects/4/issues/85?state_event=close
......
...@@ -62,7 +62,6 @@ module Gitlab ...@@ -62,7 +62,6 @@ module Gitlab
return if skip_authorization return if skip_authorization
return unless @tag_name return unless @tag_name
<<<<<<< HEAD
if tag_exists? && user_access.cannot_do_action?(:admin_project) if tag_exists? && user_access.cannot_do_action?(:admin_project)
return "You are not allowed to change existing tags on this project." return "You are not allowed to change existing tags on this project."
...@@ -76,21 +75,6 @@ module Gitlab ...@@ -76,21 +75,6 @@ module Gitlab
return "Protected tags cannot be updated." if update? return "Protected tags cannot be updated." if update?
return "Protected tags cannot be deleted." if deletion? return "Protected tags cannot be deleted." if deletion?
=======
if tag_exists? && user_access.cannot_do_action?(:admin_project)
return "You are not allowed to change existing tags on this project."
end
protected_tag_checks
end
def protected_tag_checks
return unless tag_protected?
return "Protected tags cannot be updated." if update?
return "Protected tags cannot be deleted." if deletion?
>>>>>>> 9-1-stable
unless user_access.can_create_tag?(@tag_name) unless user_access.can_create_tag?(@tag_name)
return "You are not allowed to create this tag as it is protected." return "You are not allowed to create this tag as it is protected."
end end
......
...@@ -8,16 +8,10 @@ module Gitlab ...@@ -8,16 +8,10 @@ module Gitlab
module Email module Email
module Handler module Handler
HANDLERS = [ HANDLERS = [
<<<<<<< HEAD
EE::ServiceDeskHandler, EE::ServiceDeskHandler,
UnsubscribeHandler, UnsubscribeHandler,
CreateNoteHandler, CreateNoteHandler,
CreateIssueHandler, CreateIssueHandler,
=======
UnsubscribeHandler,
CreateNoteHandler,
CreateIssueHandler
>>>>>>> 9-1-stable
].freeze ].freeze
def self.for(mail, mail_key) def self.for(mail, mail_key)
......
...@@ -31,11 +31,7 @@ RSpec.shared_examples "protected tags > access control > CE" do ...@@ -31,11 +31,7 @@ RSpec.shared_examples "protected tags > access control > CE" do
within(".protected-tags-list") do within(".protected-tags-list") do
find(".js-allowed-to-create").click find(".js-allowed-to-create").click
<<<<<<< HEAD
=======
>>>>>>> 9-1-stable
within('.js-allowed-to-create-container') do within('.js-allowed-to-create-container') do
expect(first("li")).to have_content("Roles") expect(first("li")).to have_content("Roles")
click_on access_type_name click_on access_type_name
......
...@@ -138,10 +138,7 @@ merge_access_levels: ...@@ -138,10 +138,7 @@ merge_access_levels:
push_access_levels: push_access_levels:
- user - user
- protected_branch - protected_branch
<<<<<<< HEAD
- group - group
=======
>>>>>>> 9-1-stable
create_access_levels: create_access_levels:
- protected_tag - protected_tag
container_repositories: container_repositories:
......
...@@ -360,11 +360,8 @@ ProtectedBranch::PushAccessLevel: ...@@ -360,11 +360,8 @@ ProtectedBranch::PushAccessLevel:
- access_level - access_level
- created_at - created_at
- updated_at - updated_at
<<<<<<< HEAD
- user_id - user_id
- group_id - group_id
=======
>>>>>>> 9-1-stable
ProtectedTag::CreateAccessLevel: ProtectedTag::CreateAccessLevel:
- id - id
- protected_tag_id - protected_tag_id
......
...@@ -50,7 +50,6 @@ describe ChatMessage::MergeMessage, models: true do ...@@ -50,7 +50,6 @@ describe ChatMessage::MergeMessage, models: true do
end end
end end
<<<<<<< HEAD
context 'approval' do context 'approval' do
before do before do
args[:object_attributes][:action] = 'approved' args[:object_attributes][:action] = 'approved'
...@@ -64,10 +63,7 @@ describe ChatMessage::MergeMessage, models: true do ...@@ -64,10 +63,7 @@ describe ChatMessage::MergeMessage, models: true do
end end
end end
context 'close' do
=======
context 'with markdown' do context 'with markdown' do
>>>>>>> 9-1-stable
before do before do
args[:markdown] = true args[:markdown] = true
end end
...@@ -86,13 +82,6 @@ describe ChatMessage::MergeMessage, models: true do ...@@ -86,13 +82,6 @@ describe ChatMessage::MergeMessage, models: true do
end end
end end
<<<<<<< HEAD
it 'returns a message regarding closing of merge requests' do
expect(subject.pretext).to eq(
'test.user closed <http://somewhere.com/merge_requests/100|merge request !100> '\
'in <http://somewhere.com|project_name>: *Issue title*')
expect(subject.attachments).to be_empty
=======
context 'close' do context 'close' do
before do before do
args[:object_attributes][:state] = 'closed' args[:object_attributes][:state] = 'closed'
...@@ -109,7 +98,6 @@ describe ChatMessage::MergeMessage, models: true do ...@@ -109,7 +98,6 @@ describe ChatMessage::MergeMessage, models: true do
image: 'http://someavatar.com' image: 'http://someavatar.com'
}) })
end end
>>>>>>> 9-1-stable
end end
end end
end end
...@@ -2,11 +2,6 @@ require 'spec_helper' ...@@ -2,11 +2,6 @@ require 'spec_helper'
describe ChatMessage::PipelineMessage do describe ChatMessage::PipelineMessage do
subject { described_class.new(args) } subject { described_class.new(args) }
<<<<<<< HEAD
let(:user) { { name: 'hacker' } }
=======
>>>>>>> 9-1-stable
let(:user) { { name: 'hacker' } } let(:user) { { name: 'hacker' } }
let(:args) do let(:args) do
......
...@@ -1497,7 +1497,6 @@ describe Project, models: true do ...@@ -1497,7 +1497,6 @@ describe Project, models: true do
end end
end end
<<<<<<< HEAD
describe 'handling import URL' do describe 'handling import URL' do
context 'when project is a mirror' do context 'when project is a mirror' do
it 'returns the full URL' do it 'returns the full URL' do
...@@ -1520,8 +1519,6 @@ describe Project, models: true do ...@@ -1520,8 +1519,6 @@ describe Project, models: true do
end end
end end
=======
>>>>>>> 9-1-stable
describe '#user_can_push_to_empty_repo?' do describe '#user_can_push_to_empty_repo?' do
let(:project) { create(:empty_project) } let(:project) { create(:empty_project) }
let(:user) { create(:user) } let(:user) { create(:user) }
...@@ -1610,7 +1607,6 @@ describe Project, models: true do ...@@ -1610,7 +1607,6 @@ describe Project, models: true do
stub_container_registry_tags(repository: project.full_path, stub_container_registry_tags(repository: project.full_path,
tags: %w[latest rc1 pre1]) tags: %w[latest rc1 pre1])
end end
<<<<<<< HEAD
it 'should have image tags' do it 'should have image tags' do
expect(project).to have_container_registry_tags expect(project).to have_container_registry_tags
...@@ -1622,19 +1618,6 @@ describe Project, models: true do ...@@ -1622,19 +1618,6 @@ describe Project, models: true do
stub_container_registry_tags(repository: :any, tags: []) stub_container_registry_tags(repository: :any, tags: [])
end end
=======
it 'should have image tags' do
expect(project).to have_container_registry_tags
end
end
context 'when there are no tags at all' do
before do
stub_container_registry_tags(repository: :any, tags: [])
end
>>>>>>> 9-1-stable
it 'should not have image tags' do it 'should not have image tags' do
expect(project).not_to have_container_registry_tags expect(project).not_to have_container_registry_tags
end end
...@@ -1657,7 +1640,6 @@ describe Project, models: true do ...@@ -1657,7 +1640,6 @@ describe Project, models: true do
expect(project).to receive(:container_repositories) expect(project).to receive(:container_repositories)
expect(project).not_to have_container_registry_tags expect(project).not_to have_container_registry_tags
end end
<<<<<<< HEAD
end end
end end
......
...@@ -116,7 +116,6 @@ describe Projects::DestroyService, services: true do ...@@ -116,7 +116,6 @@ describe Projects::DestroyService, services: true do
tags: ['tag']) tags: ['tag'])
project.container_repositories << container_repository project.container_repositories << container_repository
end end
<<<<<<< HEAD
context 'when image repository deletion succeeds' do context 'when image repository deletion succeeds' do
it 'removes tags' do it 'removes tags' do
...@@ -132,23 +131,6 @@ describe Projects::DestroyService, services: true do ...@@ -132,23 +131,6 @@ describe Projects::DestroyService, services: true do
expect_any_instance_of(ContainerRepository) expect_any_instance_of(ContainerRepository)
.to receive(:delete_tags!).and_return(false) .to receive(:delete_tags!).and_return(false)
=======
context 'when image repository deletion succeeds' do
it 'removes tags' do
expect_any_instance_of(ContainerRepository)
.to receive(:delete_tags!).and_return(true)
destroy_project(project, user)
end
end
context 'when image repository deletion fails' do
it 'raises an exception' do
expect_any_instance_of(ContainerRepository)
.to receive(:delete_tags!).and_return(false)
>>>>>>> 9-1-stable
expect{ destroy_project(project, user) } expect{ destroy_project(project, user) }
.to raise_error(ActiveRecord::RecordNotDestroyed) .to raise_error(ActiveRecord::RecordNotDestroyed)
end end
...@@ -160,23 +142,6 @@ describe Projects::DestroyService, services: true do ...@@ -160,23 +142,6 @@ describe Projects::DestroyService, services: true do
stub_container_registry_tags(repository: project.full_path, stub_container_registry_tags(repository: project.full_path,
tags: ['tag']) tags: ['tag'])
end end
<<<<<<< HEAD
context 'when image repository tags deletion succeeds' do
it 'removes tags' do
expect_any_instance_of(ContainerRepository)
.to receive(:delete_tags!).and_return(true)
destroy_project(project, user)
end
end
context 'when image repository tags deletion fails' do
it 'raises an exception' do
expect_any_instance_of(ContainerRepository)
.to receive(:delete_tags!).and_return(false)
=======
context 'when image repository tags deletion succeeds' do context 'when image repository tags deletion succeeds' do
it 'removes tags' do it 'removes tags' do
...@@ -192,7 +157,6 @@ describe Projects::DestroyService, services: true do ...@@ -192,7 +157,6 @@ describe Projects::DestroyService, services: true do
expect_any_instance_of(ContainerRepository) expect_any_instance_of(ContainerRepository)
.to receive(:delete_tags!).and_return(false) .to receive(:delete_tags!).and_return(false)
>>>>>>> 9-1-stable
expect { destroy_project(project, user) } expect { destroy_project(project, user) }
.to raise_error(Projects::DestroyService::DestroyError) .to raise_error(Projects::DestroyService::DestroyError)
end end
......
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