Commit Graph

69 Commits

Author SHA1 Message Date
GitLab Bot 79d62647bc Add latest changes from gitlab-org/gitlab@master 2019-12-18 12:07:48 +00:00
GitLab Bot 8d3aee3636 Add latest changes from gitlab-org/gitlab@master 2019-12-04 15:11:23 +00:00
GitLab Bot a048261403 Add latest changes from gitlab-org/gitlab@master 2019-11-21 09:06:16 +00:00
GitLab Bot c792263edf Add latest changes from gitlab-org/gitlab@master 2019-09-23 18:06:14 +00:00
GitLab Bot 84727c8209 Add latest changes from gitlab-org/gitlab@master 2019-09-16 15:06:26 +00:00
GitLab Bot b7dfe2ae40 Add latest changes from gitlab-org/gitlab@master 2019-09-13 13:26:31 +00:00
Patrick Bajao 70626f324b Make diff_refs_match_commit validation reusable
Move it to DiffPositionableNote concern which will be re-used
in EE in DraftNote model.
2019-08-01 16:00:36 -05:00
Kerri Miller f44eba8c0e Lock suggestions_filter_enabled as true
Most/all of the work we're doing in this method is done at creation/edit
time, so do we need to also check at render? Assume if you've gotten to
this point, it's ok to enable the suggestion filter.
2019-06-05 12:09:00 -07:00
Oswaldo Ferreira 5a89bcc4da Avoid 500's when commit is not reachable 2019-06-05 08:38:09 -03:00
Bob Van Landuyt 7412e2fa74 Get `repository` from noteable in DiffNotes
Getting the `repository` directly from the noteable in DiffNotes
allows us to use a different repository when the DiffNote is not
on a project repository.

It is only the first step in decoupling the DiffNote from a project's
main repository.
2019-06-03 16:42:49 +02:00
Bob Van Landuyt 4504959aa6 Make `resolvable_types` a class method
This turns Notable::RESOLVABLE_TYPES into a
`Notable.resolvable_types`. That allows us to override it in EE.
2019-06-03 16:41:05 +02:00
Oswaldo Ferreira 03e0604d5d Prepare suggestion implementation for multi-line
Adds the groundwork needed in order to persist multi-line suggestions,
while providing the parsing strategy which will be reused for the
**Preview** as well.
2019-03-27 12:26:53 -03:00
Oswaldo Ferreira 53a5960496 Implement multi-line suggestions filtering
Implements the filtering logic for
`suggestion:-x+y` syntax.
2019-03-20 11:30:24 -03:00
Oswaldo Ferreira 6fc010bb39 Use shorthand version of method call 2019-02-26 17:19:18 -03:00
Oswaldo Ferreira e116fcab41 Always fetch MR latest version when creating suggestions
This is an issue that can only be seen through EE. Further
details can be seen on
https://gitlab.com/gitlab-org/gitlab-ee/issues/9876. In general
we should always use the latest diff version of a file in order
to both create and apply suggestions.
2019-02-26 17:19:17 -03:00
Oswaldo Ferreira ed3034bbb7 Allow suggesting single line changes in diffs 2018-12-13 19:17:19 +00:00
Oswaldo Ferreira f9b4130bb7 Comment on any expanded diff line on MRs 2018-11-09 16:56:48 -02:00
Oswaldo Ferreira 198402b38b Revert "Merge branch 'osw-comment-on-any-line-on-diffs' into 'master'"
This reverts commit a82a595728, reversing
changes made to e7df959b8f.
2018-11-07 19:57:26 -02:00
Douwe Maan a82a595728 Merge branch 'osw-comment-on-any-line-on-diffs' into 'master'
Comment on any expanded diff line on MRs

See merge request gitlab-org/gitlab-ce!22398
2018-11-07 11:56:46 +00:00
Oswaldo Ferreira ec66ef1b74 Comment on any expanded diff line on MRs 2018-11-06 17:39:31 -02:00
Sean McGivern 93d0bacfe5 Remove EE-specific code from DiscussionNote 2018-10-26 14:23:58 +01:00
Mario de la Ossa d7fa6679cb
Backport CE changes from draft_notes addition in EE 2018-10-04 15:45:00 -06:00
Oswaldo Ferreira 5dce096cf8 Use standalone diff stats RPC on every comparison view 2018-09-19 12:26:28 +00:00
Michael Kozono a9c4dec537 Backport Repository#keep_around changes from EE to CE 2018-08-27 16:10:27 +02:00
gfyoung 50abbd3e53 Enable frozen string in app/models/*.rb
Partially addresses #47424.
2018-07-26 16:55:41 -07:00
Oswaldo Ferreira bb8f2520b4 Persist truncated note diffs on a new table
We request Gitaly in a N+1 manner to build discussion diffs. Once the diffs are from different revisions, it's hard to make a single request to the service in order to build the whole response.
With this change we solve this problem and simplify a lot fetching this piece of info.
2018-05-24 15:34:43 -03:00
Oswaldo Ferreira be8a320bd8 Use persisted diff data instead fetching Git on discussions
Today, when fetching diffs of a note, we always go to Gitaly in order to diff between commits and return the diff of each discussion note. With this change we avoid doing that for notes on the "current version" of the MR.
2018-04-30 20:07:21 -03:00
Douwe Maan 771bf9527f Improve performance of DiffDiscussion#truncated_diff_lines and DiffNote#diff_line by removing expensive diff position calculation and comparison 2017-12-22 18:07:15 +01:00
Douwe Maan e4eba908cd Allow commenting on individual commits inside an MR 2017-12-07 09:01:19 -05:00
Felipe Artur aefefbf117 Prevents position update for image diff notes 2017-11-13 16:40:54 -02:00
Felipe Artur b54203f0ad Commenting on image diffs 2017-10-07 04:25:17 +00:00
Yorick Peterse e1a3bf30b6
Rename ActiverecordSerialize cop
This cop has been renamed to ActiveRecordSerialize to match the way
"ActiveRecord" is usually written.
2017-07-06 12:01:36 +02:00
Grzegorz Bizon 0218a0bd23 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
2017-06-01 14:00:00 +00:00
Douwe Maan 09838ac626 Update diff discussion position per discussion instead of per note 2017-05-31 14:34:56 -05:00
Yorick Peterse cd74c1434e
Added Cop to blacklist the use of serialize
This Cop blacklists the use of ActiveRecord's "serialize" method, except
for cases where we already use this.
2017-05-31 14:03:37 +02:00
Robert Speicher 8e2fefc6c4 Merge branch 'dm-diff-cleanup' into 'master'
Clean up diff rendering

See merge request !11390
2017-05-25 22:15:57 +00:00
Douwe Maan ab91f76e8b Add system note with link to diff comparison when MR discussion becomes outdated 2017-05-23 16:27:30 -05:00
Douwe Maan 7c479d88a9 Pass fallback_diff_refs to Diff::File instead of using view helpers 2017-05-23 15:37:05 -05:00
Douwe Maan f8fabfcc6f Allow commenting on older versions of the diff and comparisons between diff versions 2017-05-03 14:47:21 -05:00
Douwe Maan b202b42cfe Link to outdated diff in older MR version from outdated diff discussion 2017-04-08 14:37:46 -05:00
Douwe Maan cc656a1199 Refactor resolvability checks based on type 2017-04-06 10:51:45 -05:00
Douwe Maan 21e10888c3
Address review comments 2017-04-05 17:44:14 +01:00
Douwe Maan bb8cc94668
Don't use original_discussion_id 2017-04-05 17:44:14 +01:00
Douwe Maan 2058e71e63
Extract commonalities between DiffDiscussion and LegacyDiffDiscussion 2017-04-05 17:44:14 +01:00
Douwe Maan 79889a6aa3
Add specs 2017-04-05 17:44:14 +01:00
Douwe Maan 08bbb9fce6
Add option to start a new discussion on an MR 2017-04-05 17:44:14 +01:00
Douwe Maan 7d4b52b27d Enable Style/WordArray 2017-02-23 09:32:41 -06:00
Alejandro Rodríguez ea155ccc3e Optimize discussion notes resolving and unresolving
Use `update_all` to only require one query per discussion to
update the notes resolved status. Some changes had to be made to
the discussion spec to accout for the fact that notes are not
individually updated now
2016-09-06 12:14:09 -03:00
Sean McGivern 9b57ad382e Move #to_discussion to NoteOnDiff 2016-08-30 16:30:42 +01:00
Douwe Maan d741303a59 Call `set_discussion_id` again in DiffNote `before_validation` because the order is important 2016-08-19 18:24:12 -05:00