diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-06-01 14:00:00 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-06-01 14:00:00 +0000 |
commit | 0218a0bd2308eaa1b968cc0e0c68fdb88788df56 (patch) | |
tree | 9c69bde0abe23fc0ac6a64726cdefac5fd0807ad /app/models/diff_note.rb | |
parent | f07aee72bef4604312e11a43fce3a47865bce100 (diff) | |
parent | 09838ac626df739f0ab9852e3c7d862c7fd707e5 (diff) | |
download | gitlab-ce-0218a0bd2308eaa1b968cc0e0c68fdb88788df56.tar.gz |
Merge branch 'dm-update-discussion-diff-position' into 'master'
Update diff discussion position per discussion instead of per note
Closes #33157
See merge request !11833
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 6cd0502069a..20ef1378500 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 |