diff options
author | Robert Speicher <robert@gitlab.com> | 2018-03-19 22:15:00 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2018-03-19 22:15:00 +0000 |
commit | 14d18a125e4763bdba2248cfa08913bd26689674 (patch) | |
tree | 60b14206a045706dbaafb0566927dc320e66fad1 /app/services | |
parent | 709f4d1226c98810073fd6f8f1e6fc6a579d3da1 (diff) | |
parent | 35f4c261d84a35a1223c2fd7d372e0bfcd18194c (diff) | |
download | gitlab-ce-14d18a125e4763bdba2248cfa08913bd26689674.tar.gz |
Merge branch '10-6-stable-prepare-rc7' into '10-6-stable'
Prepare 10.6-rc7
See merge request gitlab/gitlabhq!2362
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/merge_requests/conflicts/list_service.rb | 10 | ||||
-rw-r--r-- | app/services/notification_service.rb | 4 | ||||
-rw-r--r-- | app/services/projects/destroy_service.rb | 6 |
3 files changed, 8 insertions, 12 deletions
diff --git a/app/services/merge_requests/conflicts/list_service.rb b/app/services/merge_requests/conflicts/list_service.rb index ca9a33678e4..72cbc49adb2 100644 --- a/app/services/merge_requests/conflicts/list_service.rb +++ b/app/services/merge_requests/conflicts/list_service.rb @@ -17,15 +17,7 @@ module MergeRequests return @conflicts_can_be_resolved_in_ui = false unless merge_request.has_complete_diff_refs? return @conflicts_can_be_resolved_in_ui = false if merge_request.branch_missing? - begin - # Try to parse each conflict. If the MR's mergeable status hasn't been - # updated, ensure that we don't say there are conflicts to resolve - # when there are no conflict files. - conflicts.files.each(&:lines) - @conflicts_can_be_resolved_in_ui = conflicts.files.length > 0 - rescue Gitlab::Git::CommandError, Gitlab::Git::Conflict::Parser::UnresolvableError, Gitlab::Git::Conflict::Resolver::ConflictSideMissing - @conflicts_can_be_resolved_in_ui = false - end + @conflicts_can_be_resolved_in_ui = conflicts.can_be_resolved_in_ui? end def conflicts diff --git a/app/services/notification_service.rb b/app/services/notification_service.rb index e07ecda27b5..ab94db2c1e5 100644 --- a/app/services/notification_service.rb +++ b/app/services/notification_service.rb @@ -208,9 +208,9 @@ class NotificationService def new_access_request(member) return true unless member.notifiable?(:subscription) - recipients = member.source.members.owners_and_masters + recipients = member.source.members.active_without_invites.owners_and_masters if fallback_to_group_owners_masters?(recipients, member) - recipients = member.source.group.members.owners_and_masters + recipients = member.source.group.members.active_without_invites.owners_and_masters end recipients.each { |recipient| deliver_access_request_email(recipient, member) } diff --git a/app/services/projects/destroy_service.rb b/app/services/projects/destroy_service.rb index 81972df9b3c..4b8f955ae69 100644 --- a/app/services/projects/destroy_service.rb +++ b/app/services/projects/destroy_service.rb @@ -88,7 +88,11 @@ module Projects def attempt_rollback(project, message) return unless project - project.update_attributes(delete_error: message, pending_delete: false) + # It's possible that the project was destroyed, but some after_commit + # hook failed and caused us to end up here. A destroyed model will be a frozen hash, + # which cannot be altered. + project.update_attributes(delete_error: message, pending_delete: false) unless project.destroyed? + log_error("Deletion failed on #{project.full_path} with the following message: #{message}") end |