summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2016-06-20 19:22:08 +0200
committerDouwe Maan <douwe@selenight.nl>2016-07-06 18:51:00 -0400
commit8d7dc26d39b65b3ef6e8ec80ed5995ae307c3d3c (patch)
tree85102d61cdc137e87e3f7edc5caf866750075971 /app
parent2f30d00432e9727581e814062ea6117e1946a981 (diff)
downloadgitlab-ce-8d7dc26d39b65b3ef6e8ec80ed5995ae307c3d3c.tar.gz
Support new diff notes on MRs with diff_refs
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects/merge_requests_controller.rb1
-rw-r--r--app/models/deployment.rb6
-rw-r--r--app/models/diff_note.rb2
-rw-r--r--app/models/merge_request.rb4
4 files changed, 12 insertions, 1 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index a03eb8513b6..ae0660078f9 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -85,6 +85,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController
noteable_id: @merge_request.id
}
+ @use_legacy_diff_notes = !@merge_request.support_new_diff_notes?
@grouped_diff_notes = @merge_request.notes.grouped_diff_notes
Banzai::NoteRenderer.render(
diff --git a/app/models/deployment.rb b/app/models/deployment.rb
index e498ca96e3c..520026c18dd 100644
--- a/app/models/deployment.rb
+++ b/app/models/deployment.rb
@@ -11,6 +11,8 @@ class Deployment < ActiveRecord::Base
delegate :name, to: :environment, prefix: true
+ after_save :keep_around_commit
+
def commit
project.commit(sha)
end
@@ -26,4 +28,8 @@ class Deployment < ActiveRecord::Base
def last?
self == environment.last_deployment
end
+
+ def keep_around_commit
+ project.repository.keep_around(self.sha)
+ end
end
diff --git a/app/models/diff_note.rb b/app/models/diff_note.rb
index 94c07cc535c..70fbcb4c4e9 100644
--- a/app/models/diff_note.rb
+++ b/app/models/diff_note.rb
@@ -74,7 +74,7 @@ class DiffNote < Note
private
def supported?
- !self.for_merge_request?
+ !self.for_merge_request? || self.noteable.support_new_diff_notes?
end
def set_original_position
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 04ec6d369e5..82e0f5a0b53 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -642,6 +642,10 @@ class MergeRequest < ActiveRecord::Base
merge_commit
end
+ def support_new_diff_notes?
+ diff_refs && diff_refs.complete?
+ end
+
def keep_around_commit
project.repository.keep_around(self.merge_commit_sha)
end