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
iv
gitlab-ce
Commits
ed94cde2
Commit
ed94cde2
authored
Apr 15, 2015
by
Marin Jankovski
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #9089 from dsander/fix-merge-request-comments
Fix merge request comments on files with multiple commits
parents
fb7ce7bd
d4fec49a
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
11 additions
and
7 deletions
+11
-7
CHANGELOG
CHANGELOG
+1
-0
app/helpers/diff_helper.rb
app/helpers/diff_helper.rb
+1
-1
app/models/note.rb
app/models/note.rb
+5
-1
app/views/projects/diffs/_text_file.html.haml
app/views/projects/diffs/_text_file.html.haml
+1
-1
app/views/projects/notes/_discussion.html.haml
app/views/projects/notes/_discussion.html.haml
+3
-4
No files found.
CHANGELOG
View file @
ed94cde2
...
...
@@ -88,6 +88,7 @@ v 7.10.0 (unreleased)
- Allow user to choose a public email to show on public profile
- Remove truncation from issue titles on milestone page (Jason Blanchard)
- Fix stuck Merge Request merging events from old installations (Ben Bodenmiller)
- Fix merge request comments on files with multiple commits
v 7.9.3
- Contains no changes
...
...
app/helpers/diff_helper.rb
View file @
ed94cde2
...
...
@@ -101,7 +101,7 @@ module DiffHelper
end
def
line_comments
@line_comments
||=
@line_notes
.
group_by
(
&
:line_code
)
@line_comments
||=
@line_notes
.
select
(
&
:active?
).
group_by
(
&
:line_code
)
end
def
organize_comments
(
type_left
,
type_right
,
line_code_left
,
line_code_right
)
...
...
app/models/note.rb
View file @
ed94cde2
...
...
@@ -354,7 +354,7 @@ class Note < ActiveRecord::Base
def
set_diff
# First lets find notes with same diff
# before iterating over all mr diffs
diff
=
Note
.
where
(
noteable_id:
self
.
noteable_id
,
noteable_type:
self
.
noteable_type
,
line_code:
self
.
line_code
).
last
.
try
(
:diff
)
diff
=
diff_for_line_code
unless
for_merge_request?
diff
||=
find_diff
self
.
st_diff
=
diff
.
to_hash
if
diff
...
...
@@ -364,6 +364,10 @@ class Note < ActiveRecord::Base
@diff
||=
Gitlab
::
Git
::
Diff
.
new
(
st_diff
)
if
st_diff
.
respond_to?
(
:map
)
end
def
diff_for_line_code
Note
.
where
(
noteable_id:
noteable_id
,
noteable_type:
noteable_type
,
line_code:
line_code
).
last
.
try
(
:diff
)
end
# Check if such line of code exists in merge request diff
# If exists - its active discussion
# If not - its outdated diff
...
...
app/views/projects/diffs/_text_file.html.haml
View file @
ed94cde2
...
...
@@ -23,7 +23,7 @@
%td
.line_content
{
class:
"noteable_line #{type} #{line_code}"
,
"line_code"
=>
line_code
}=
raw
diff_line_content
(
line
.
text
)
-
if
@reply_allowed
-
comments
=
@line_notes
.
select
{
|
n
|
n
.
line_code
==
line_code
}.
sort_by
(
&
:created_at
)
-
comments
=
@line_notes
.
select
{
|
n
|
n
.
line_code
==
line_code
&&
n
.
active?
}.
sort_by
(
&
:created_at
)
-
unless
comments
.
empty?
=
render
"projects/notes/diff_notes_with_reply"
,
notes:
comments
,
line:
line
.
text
...
...
app/views/projects/notes/_discussion.html.haml
View file @
ed94cde2
...
...
@@ -6,9 +6,8 @@
=
image_tag
avatar_icon
(
note
.
author_email
),
class:
"avatar s40"
.timeline-content
-
if
note
.
for_merge_request?
-
if
note
.
outdated?
=
render
"projects/notes/discussions/outdated"
,
discussion_notes:
discussion_notes
-
else
=
render
"projects/notes/discussions/active"
,
discussion_notes:
discussion_notes
-
(
active_notes
,
outdated_notes
)
=
discussion_notes
.
partition
(
&
:active?
)
=
render
"projects/notes/discussions/active"
,
discussion_notes:
active_notes
if
active_notes
.
length
>
0
=
render
"projects/notes/discussions/outdated"
,
discussion_notes:
outdated_notes
if
outdated_notes
.
length
>
0
-
else
=
render
"projects/notes/discussions/commit"
,
discussion_notes:
discussion_notes
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