Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jérome Perrin
gitlab-ce
Commits
5e8aca21
Commit
5e8aca21
authored
Jun 19, 2017
by
Douwe Maan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Don't display comment on unchanged line on both sides in parallel diff
parent
c0c39426
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
24 deletions
+33
-24
app/helpers/diff_helper.rb
app/helpers/diff_helper.rb
+2
-2
app/models/legacy_diff_note.rb
app/models/legacy_diff_note.rb
+1
-1
lib/gitlab/diff/line.rb
lib/gitlab/diff/line.rb
+10
-10
lib/gitlab/diff/parallel_diff.rb
lib/gitlab/diff/parallel_diff.rb
+10
-10
spec/helpers/diff_helper_spec.rb
spec/helpers/diff_helper_spec.rb
+10
-1
No files found.
app/helpers/diff_helper.rb
View file @
5e8aca21
...
...
@@ -66,12 +66,12 @@ module DiffHelper
discussions_left
=
discussions_right
=
nil
if
left
&&
(
left
.
unchanged?
||
left
.
discussable
?
)
if
left
&&
left
.
discussable?
&&
(
left
.
unchanged?
||
left
.
removed
?
)
line_code
=
diff_file
.
line_code
(
left
)
discussions_left
=
@grouped_diff_discussions
[
line_code
]
end
if
right
&
.
discussable
?
if
right
&&
right
.
discussable?
&&
right
.
added
?
line_code
=
diff_file
.
line_code
(
right
)
discussions_right
=
@grouped_diff_discussions
[
line_code
]
end
...
...
app/models/legacy_diff_note.rb
View file @
5e8aca21
...
...
@@ -42,7 +42,7 @@ class LegacyDiffNote < Note
end
def
for_line?
(
line
)
!
line
.
meta
?
&&
diff_file
.
line_code
(
line
)
==
self
.
line_code
line
.
discussable
?
&&
diff_file
.
line_code
(
line
)
==
self
.
line_code
end
def
original_line_code
...
...
lib/gitlab/diff/line.rb
View file @
5e8aca21
...
...
@@ -42,25 +42,25 @@ module Gitlab
end
def
added?
type
==
'new'
||
type
==
'new-nonewline'
%w[new new-nonewline]
.
include?
(
type
)
end
def
removed?
type
==
'old'
||
type
==
'old-nonewline'
end
def
rich_text
@parent_file
.
highlight_lines!
if
@parent_file
&&
!
@rich_text
@rich_text
%w[old old-nonewline]
.
include?
(
type
)
end
def
meta?
type
==
'match'
%w[match new-nonewline old-nonewline]
.
include?
(
type
)
end
def
discussable?
!
[
'match'
,
'new-nonewline'
,
'old-nonewline'
].
include?
(
type
)
!
meta?
end
def
rich_text
@parent_file
.
highlight_lines!
if
@parent_file
&&
!
@rich_text
@rich_text
end
def
as_json
(
opts
=
nil
)
...
...
lib/gitlab/diff/parallel_diff.rb
View file @
5e8aca21
...
...
@@ -14,16 +14,7 @@ module Gitlab
lines
=
[]
highlighted_diff_lines
=
diff_file
.
highlighted_diff_lines
highlighted_diff_lines
.
each
do
|
line
|
if
line
.
meta?
||
line
.
unchanged?
# line in the right panel is the same as in the left one
lines
<<
{
left:
line
,
right:
line
}
free_right_index
=
nil
i
+=
1
elsif
line
.
removed?
if
line
.
removed?
lines
<<
{
left:
line
,
right:
nil
...
...
@@ -51,6 +42,15 @@ module Gitlab
free_right_index
=
nil
i
+=
1
end
elsif
line
.
meta?
||
line
.
unchanged?
# line in the right panel is the same as in the left one
lines
<<
{
left:
line
,
right:
line
}
free_right_index
=
nil
i
+=
1
end
end
...
...
spec/helpers/diff_helper_spec.rb
View file @
5e8aca21
...
...
@@ -148,12 +148,21 @@ describe DiffHelper do
it
'puts comments on added lines'
do
left
=
Gitlab
::
Diff
::
Line
.
new
(
'\\nonewline'
,
'old-nonewline'
,
3
,
3
,
3
)
right
=
Gitlab
::
Diff
::
Line
.
new
(
'new line'
,
'
add
'
,
3
,
3
,
3
)
right
=
Gitlab
::
Diff
::
Line
.
new
(
'new line'
,
'
new
'
,
3
,
3
,
3
)
result
=
helper
.
parallel_diff_discussions
(
left
,
right
,
diff_file
)
expect
(
result
).
to
eq
([
nil
,
'comment'
])
end
it
'puts comments on unchanged lines'
do
left
=
Gitlab
::
Diff
::
Line
.
new
(
'unchanged line'
,
nil
,
3
,
3
,
3
)
right
=
Gitlab
::
Diff
::
Line
.
new
(
'unchanged line'
,
nil
,
3
,
3
,
3
)
result
=
helper
.
parallel_diff_discussions
(
left
,
right
,
diff_file
)
expect
(
result
).
to
eq
([
'comment'
,
nil
])
end
end
describe
"#diff_match_line"
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment