diff options
author | Douwe Maan <douwe@selenight.nl> | 2017-05-31 14:31:33 -0500 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2017-05-31 14:34:56 -0500 |
commit | 09838ac626df739f0ab9852e3c7d862c7fd707e5 (patch) | |
tree | 833992848bc23c93f725f7ef2eb11518f14d3411 /app/models/diff_note.rb | |
parent | 8039b9c3c6caedc19e0e44d086a007e8975134b7 (diff) | |
download | gitlab-ce-09838ac626df739f0ab9852e3c7d862c7fd707e5.tar.gz |
Update diff discussion position per discussion instead of per notedm-update-discussion-diff-position
Diffstat (limited to 'app/models/diff_note.rb')
-rw-r--r-- | app/models/diff_note.rb | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/app/models/diff_note.rb b/app/models/diff_note.rb index 2a4cff37566..6fbc6a9f58b 100644 --- a/app/models/diff_note.rb +++ b/app/models/diff_note.rb @@ -95,13 +95,21 @@ class DiffNote < Note return if active? - Notes::DiffPositionUpdateService.new( - self.project, - nil, + tracer = Gitlab::Diff::PositionTracer.new( + project: self.project, old_diff_refs: self.position.diff_refs, - new_diff_refs: noteable.diff_refs, + new_diff_refs: self.noteable.diff_refs, paths: self.position.paths - ).execute(self) + ) + + result = tracer.trace(self.position) + return unless result + + if result[:outdated] + self.change_position = result[:position] + else + self.position = result[:position] + end end def verify_supported |