diff options
author | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-10-16 13:21:16 -0300 |
---|---|---|
committer | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-11-09 16:56:48 -0200 |
commit | f9b4130bb75adf33fbf2f74fb2662f09d073bd6f (patch) | |
tree | e6734e431b82d518b271218e620c6efec1b4c9bf /lib/gitlab/diff/position.rb | |
parent | 5b270431399ca14198d7684c1855de04ee8aec5e (diff) | |
download | gitlab-ce-f9b4130bb75adf33fbf2f74fb2662f09d073bd6f.tar.gz |
Comment on any expanded diff line on MRsosw-comment-on-any-line-on-diffs-w-feature-flag
Diffstat (limited to 'lib/gitlab/diff/position.rb')
-rw-r--r-- | lib/gitlab/diff/position.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/gitlab/diff/position.rb b/lib/gitlab/diff/position.rb index f967494199e..7bfab2d808f 100644 --- a/lib/gitlab/diff/position.rb +++ b/lib/gitlab/diff/position.rb @@ -101,6 +101,10 @@ module Gitlab @diff_refs ||= DiffRefs.new(base_sha: base_sha, start_sha: start_sha, head_sha: head_sha) end + def unfolded_diff?(repository) + diff_file(repository)&.unfolded? + end + def diff_file(repository) return @diff_file if defined?(@diff_file) @@ -134,7 +138,13 @@ module Gitlab return unless diff_refs.complete? return unless comparison = diff_refs.compare_in(repository.project) - comparison.diffs(diff_options).diff_files.first + file = comparison.diffs(diff_options).diff_files.first + + # We need to unfold diff lines according to the position in order + # to correctly calculate the line code and trace position changes. + file&.unfold_diff_lines(self) + + file end def get_formatter_class(type) |