diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2016-11-24 16:26:13 +0800 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2016-11-24 16:26:13 +0800 |
commit | 6264b2dfc2a43718921568b947a80651dcc5b2d0 (patch) | |
tree | 437418b6a3198f22784702f28626f17b8c081ee1 /app/services | |
parent | 5ea2628921325bf60abdf9b192abec1f5bcc129e (diff) | |
parent | 3943e632103271b3683e0cc355f0fef4c9452491 (diff) | |
download | gitlab-ce-6264b2dfc2a43718921568b947a80651dcc5b2d0.tar.gz |
Merge remote-tracking branch 'upstream/master' into show-commit-status-from-latest-pipeline
* upstream/master: (252 commits)
Log mv_namespace parameters
Remove header ids from University docs
Added test that checks the correct select box is there for the LFS enabled setting.
Simplify copy on "Create a new list" dropdown in Issue Boards
Fix `LFS enabled` select box.
Use Commit#author so we share logic and cache
Move admin abuse report spinach test to rspec
fixes non-retina shadow and browser zoom issue
Use default `closest` if available!
Adds polyfill for CustomEvent
Move abuse report spinach test to rspec
Add support of Chrome/Chromium in requirements.md
Fixed dragging issues on issue boards
Grapify the sidekiq metrics API
Add nested groups support to the routing
Correctly determine mergeability of MR with no discussions
API: Add endpoint to delete a group share
Add a starting date to milestones
Update ProjectTeam#fetch_members to use project authorizations
Update ProjectTeam#max_member_access_for_user_ids to use project authorizations
...
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/after_branch_delete_service.rb | 2 | ||||
-rw-r--r-- | app/services/create_branch_service.rb | 2 | ||||
-rw-r--r-- | app/services/create_deployment_service.rb | 2 | ||||
-rw-r--r-- | app/services/create_release_service.rb | 2 | ||||
-rw-r--r-- | app/services/create_tag_service.rb | 2 | ||||
-rw-r--r-- | app/services/delete_branch_service.rb | 2 | ||||
-rw-r--r-- | app/services/delete_merged_branches_service.rb | 2 | ||||
-rw-r--r-- | app/services/delete_tag_service.rb | 2 | ||||
-rw-r--r-- | app/services/files/create_dir_service.rb | 2 | ||||
-rw-r--r-- | app/services/files/create_service.rb | 2 | ||||
-rw-r--r-- | app/services/files/delete_service.rb | 2 | ||||
-rw-r--r-- | app/services/files/multi_service.rb | 2 | ||||
-rw-r--r-- | app/services/files/update_service.rb | 2 | ||||
-rw-r--r-- | app/services/git_push_service.rb | 23 | ||||
-rw-r--r-- | app/services/merge_requests/refresh_service.rb | 21 | ||||
-rw-r--r-- | app/services/merge_requests/update_service.rb | 4 | ||||
-rw-r--r-- | app/services/update_release_service.rb | 2 |
17 files changed, 30 insertions, 46 deletions
diff --git a/app/services/after_branch_delete_service.rb b/app/services/after_branch_delete_service.rb index 2be4d3e6ab5..227e9ea9c6d 100644 --- a/app/services/after_branch_delete_service.rb +++ b/app/services/after_branch_delete_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - ## # Branch can be deleted either by DeleteBranchService # or by GitPushService. diff --git a/app/services/create_branch_service.rb b/app/services/create_branch_service.rb index 757fc35a78f..e004a303496 100644 --- a/app/services/create_branch_service.rb +++ b/app/services/create_branch_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - class CreateBranchService < BaseService def execute(branch_name, ref, source_project: @project) valid_branch = Gitlab::GitRefValidator.validate(branch_name) diff --git a/app/services/create_deployment_service.rb b/app/services/create_deployment_service.rb index 8ae15ad32f4..47f9b2c621c 100644 --- a/app/services/create_deployment_service.rb +++ b/app/services/create_deployment_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - class CreateDeploymentService < BaseService def execute(deployable = nil) return unless executable? diff --git a/app/services/create_release_service.rb b/app/services/create_release_service.rb index d6d4afcf29a..54ff1f74126 100644 --- a/app/services/create_release_service.rb +++ b/app/services/create_release_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - class CreateReleaseService < BaseService def execute(tag_name, release_description) repository = project.repository diff --git a/app/services/create_tag_service.rb b/app/services/create_tag_service.rb index c0e7ecf6a96..fe9353afeb8 100644 --- a/app/services/create_tag_service.rb +++ b/app/services/create_tag_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - class CreateTagService < BaseService def execute(tag_name, target, message, release_description = nil) valid_tag = Gitlab::GitRefValidator.validate(tag_name) diff --git a/app/services/delete_branch_service.rb b/app/services/delete_branch_service.rb index 3e5dd4ebb86..11a045f4c31 100644 --- a/app/services/delete_branch_service.rb +++ b/app/services/delete_branch_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - class DeleteBranchService < BaseService def execute(branch_name) repository = project.repository diff --git a/app/services/delete_merged_branches_service.rb b/app/services/delete_merged_branches_service.rb index 8b8deafedb7..1b5623baebe 100644 --- a/app/services/delete_merged_branches_service.rb +++ b/app/services/delete_merged_branches_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - class DeleteMergedBranchesService < BaseService def async_execute DeleteMergedBranchesWorker.perform_async(project.id, current_user.id) diff --git a/app/services/delete_tag_service.rb b/app/services/delete_tag_service.rb index d824406cb49..a44dee14a0f 100644 --- a/app/services/delete_tag_service.rb +++ b/app/services/delete_tag_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - class DeleteTagService < BaseService def execute(tag_name) repository = project.repository diff --git a/app/services/files/create_dir_service.rb b/app/services/files/create_dir_service.rb index d00d78cee7e..e5b4d60e467 100644 --- a/app/services/files/create_dir_service.rb +++ b/app/services/files/create_dir_service.rb @@ -1,5 +1,3 @@ -require_relative "base_service" - module Files class CreateDirService < Files::BaseService def commit diff --git a/app/services/files/create_service.rb b/app/services/files/create_service.rb index bf127843d55..b23576b9a28 100644 --- a/app/services/files/create_service.rb +++ b/app/services/files/create_service.rb @@ -1,5 +1,3 @@ -require_relative "base_service" - module Files class CreateService < Files::BaseService def commit diff --git a/app/services/files/delete_service.rb b/app/services/files/delete_service.rb index 8b27ad51789..4f7e7a5baaa 100644 --- a/app/services/files/delete_service.rb +++ b/app/services/files/delete_service.rb @@ -1,5 +1,3 @@ -require_relative "base_service" - module Files class DeleteService < Files::BaseService def commit diff --git a/app/services/files/multi_service.rb b/app/services/files/multi_service.rb index d28912e1301..54446e90007 100644 --- a/app/services/files/multi_service.rb +++ b/app/services/files/multi_service.rb @@ -1,5 +1,3 @@ -require_relative "base_service" - module Files class MultiService < Files::BaseService class FileChangedError < StandardError; end diff --git a/app/services/files/update_service.rb b/app/services/files/update_service.rb index c17fdb8d1f1..47a18e3e132 100644 --- a/app/services/files/update_service.rb +++ b/app/services/files/update_service.rb @@ -1,5 +1,3 @@ -require_relative "base_service" - module Files class UpdateService < Files::BaseService class FileChangedError < StandardError; end diff --git a/app/services/git_push_service.rb b/app/services/git_push_service.rb index 77c6c81cc1b..647930d555c 100644 --- a/app/services/git_push_service.rb +++ b/app/services/git_push_service.rb @@ -18,7 +18,7 @@ class GitPushService < BaseService # def execute @project.repository.after_create if @project.empty_repo? - @project.repository.after_push_commit(branch_name, params[:newrev]) + @project.repository.after_push_commit(branch_name) if push_remove_branch? @project.repository.after_remove_branch @@ -51,12 +51,32 @@ class GitPushService < BaseService execute_related_hooks perform_housekeeping + + update_caches end def update_gitattributes @project.repository.copy_gitattributes(params[:ref]) end + def update_caches + if is_default_branch? + paths = Set.new + + @push_commits.each do |commit| + commit.raw_diffs(deltas_only: true).each do |diff| + paths << diff.new_path + end + end + + types = Gitlab::FileDetector.types_in_paths(paths.to_a) + else + types = [] + end + + ProjectCacheWorker.perform_async(@project.id, types) + end + protected def execute_related_hooks @@ -70,7 +90,6 @@ class GitPushService < BaseService @project.execute_hooks(build_push_data.dup, :push_hooks) @project.execute_services(build_push_data.dup, :push_hooks) Ci::CreatePipelineService.new(@project, current_user, build_push_data).execute - ProjectCacheWorker.perform_async(@project.id) if push_remove_branch? AfterBranchDeleteService diff --git a/app/services/merge_requests/refresh_service.rb b/app/services/merge_requests/refresh_service.rb index 4a7e6930842..22596b4014a 100644 --- a/app/services/merge_requests/refresh_service.rb +++ b/app/services/merge_requests/refresh_service.rb @@ -60,7 +60,15 @@ module MergeRequests merge_requests = filter_merge_requests(merge_requests) merge_requests.each do |merge_request| - reload_diff(merge_request) unless branch_removed? + if merge_request.source_branch == @branch_name || force_push? + merge_request.reload_diff + else + mr_commit_ids = merge_request.commits.map(&:id) + push_commit_ids = @commits.map(&:id) + matches = mr_commit_ids & push_commit_ids + merge_request.reload_diff if matches.any? + end + merge_request.mark_as_unchecked end end @@ -165,16 +173,5 @@ module MergeRequests def branch_removed? Gitlab::Git.blank_ref?(@newrev) end - - def reload_diff(merge_request) - if merge_request.source_branch == @branch_name || force_push? - merge_request.reload_diff - else - mr_commit_ids = merge_request.commits.map(&:id) - push_commit_ids = @commits.map(&:id) - matches = mr_commit_ids & push_commit_ids - merge_request.reload_diff if matches.any? - end - end end end diff --git a/app/services/merge_requests/update_service.rb b/app/services/merge_requests/update_service.rb index a37cc3fdf21..fda0da19d87 100644 --- a/app/services/merge_requests/update_service.rb +++ b/app/services/merge_requests/update_service.rb @@ -1,7 +1,3 @@ -require_relative 'base_service' -require_relative 'reopen_service' -require_relative 'close_service' - module MergeRequests class UpdateService < MergeRequests::BaseService def execute(merge_request) diff --git a/app/services/update_release_service.rb b/app/services/update_release_service.rb index 0ee1ff2d7d9..b7c36651968 100644 --- a/app/services/update_release_service.rb +++ b/app/services/update_release_service.rb @@ -1,5 +1,3 @@ -require_relative 'base_service' - class UpdateReleaseService < BaseService def execute(tag_name, release_description) repository = project.repository |