gfyoung
7e6f6e1603
Enable even more frozen string in lib/gitlab
...
Enables frozens string for the following:
* lib/gitlab/conflict/**/*.rb
* lib/gitlab/cross_project_access/**/*.rb
* lib/gitlab/cycle_analytics/**/*.rb
* lib/gitlab/data_builder/**/*.rb
* lib/gitlab/database/**/*.rb
* lib/gitlab/dependency_linker/**/*.rb
* lib/gitlab/diff/**/*.rb
* lib/gitlab/downtime_check/**/*.rb
* lib/gitlab/email/**/*.rb
* lib/gitlab/etag_caching/**/*.rb
Partially addresses gitlab-org/gitlab-ce#47424 .
2018-11-06 22:47:32 -08:00
Mark Chao
39ae9a59a5
Make Highlight accept language param
...
This replaces the repository param.
This allows more flexiblity as sometimes we have highlight content
not related to repository. Sometimes we know ahead of time the language
of the content. Lastly language determination seems better fit as a
logic in the Blob class.
`repository` param is only used to determine the language, which seems
to be the responsiblity of Blob.
2018-10-30 15:44:55 +08:00
Francisco Javier López
c40400ceae
[master] Stored XSS in Gitlab Merge Request from imported repository
2018-10-01 16:44:30 +00:00
Chantal Rollison
81a403f05f
Escaped html characters
2018-08-21 07:37:33 -07:00
Bob Van Landuyt
5f7f5eda92
Method to track recoverable exceptions in sentry
...
This adds a method to track errors that can be recovered from in
sentry.
It is useful when debugging performance issues, or exceptions that are
hard to reproduce.
2018-04-17 11:39:23 +02:00
Sean McGivern
cdf3ae04f8
Fix 500 error when diff context line has broken encoding
...
Rugged sometimes chops a context line in between bytes, resulting in the context
line having an invalid encoding: https://github.com/libgit2/rugged/issues/716
When that happens, we will try to detect the encoding for the diff, and
sometimes we'll get it wrong. If that difference in encoding results in a
difference in string lengths between the diff and the underlying blobs, we'd
fail to highlight any inline diffs, and return a 500 status to the user.
As we're using the underlying blobs, the encoding is 'correct' anyway, so if the
string range is invalid, we can just discard the inline diff highlighting. We
still report to Sentry to ensure that we can investigate further in future.
2018-02-22 12:26:23 +00:00
🙈 jacopo beschi 🙉
729f05f0e3
Adds Rubocop rule for line break around conditionals
2018-01-11 16:34:01 +00:00
Douwe Maan
e6e29f9220
Use Diff::File blob methods from diff highlighter
2017-06-08 09:39:54 -05:00
Douwe Maan
db40c668de
Rename Diff::File {old,new}_ref to {old,new}_sha
2017-05-23 15:37:04 -05:00
Douwe Maan
ccbebbdfeb
Enable Performance/RedundantMatch
2017-02-23 09:31:57 -06:00
Paco Guzman
cd7c2cb6dd
Cache highlighted diff lines for merge requests
...
Introducing the concept of SafeDiffs which relates
diffs with UI highlighting.
2016-08-03 07:00:19 +02:00
Douwe Maan
ac26b23712
Remove duplication, unused methods, and some other style things
2016-07-06 19:29:41 -04:00
Douwe Maan
a27462a5c6
Extract parts of LegacyDiffNote into DiffOnNote concern and move part of responsibility to other classes
2016-07-06 18:50:59 -04:00
Douwe Maan
a9fa45f09e
Represent DiffRefs as proper class instead of tuple array
2016-07-06 18:50:58 -04:00
Douwe Maan
677b4db9e6
Mark inline difference between old and new paths when a file is renamed
2016-01-29 19:37:17 +01:00
Robert Speicher
2fed8bf390
Merge branch 'fix-diff-comments' into 'master'
...
More highlighted diff fixes
See merge request !2545
2016-01-22 07:37:47 +00:00
Douwe Maan
16d17b78ca
Restore diff comments
2016-01-22 02:10:58 +01:00
Douwe Maan
82d0fa8e45
Fix
2016-01-22 01:53:01 +01:00
Douwe Maan
150b4f66e6
Make sure non-highlighted diffs are still escaped
2016-01-22 01:47:17 +01:00
Douwe Maan
0e992a3b4e
Properly highlight lines around '\ No newline at end of file'
2016-01-20 19:20:13 +01:00
Douwe Maan
577f2fb47a
Save and use actual diff base commit for MR diff highlighting
2016-01-20 18:44:27 +01:00
Douwe Maan
13f10efcf1
Move inline diff marker logic to its own class
2016-01-15 14:39:43 +01:00
Douwe Maan
7d31f37219
Move inline diff logic to its own class
2016-01-15 14:25:29 +01:00
Douwe Maan
71b4341a37
Method was moved
2016-01-15 14:11:36 +01:00
Rubén Dávila
6b9c730e91
More refactoring from last code review. #3945
...
* Use commit objects instead of IDs when generating diffs
* Use proper references when generating MR's source and target
* Update broken specs
2016-01-14 16:47:55 -05:00
Douwe Maan
8dfad143d4
Add inline diff markers in highlighted diffs.
2016-01-14 22:28:07 +01:00
Douwe Maan
83e4fc188b
Refactor highlighting lines
2016-01-14 16:13:35 +01:00
Douwe Maan
3a1d053599
Remove duplication around highlighting.
2016-01-14 15:11:50 +01:00
Rubén Dávila
c179b48c97
Use #sub instead of #gsub!. #3945
...
* This is because is not a good idea to modify the original lines
* Also I run into this issue https://gitlab.com/gitlab-org/gitlab_git/issues/14
which is returning Diff Lines with the same @new_pos value.
2016-01-13 21:04:53 -05:00
Rubén Dávila
0f0af19139
Little refactor for usage of html_safe. #3945
2016-01-13 11:39:15 -05:00
Rubén Dávila
7307fa48e7
Fix broken specs. #3945
2016-01-12 19:28:31 -05:00
Rubén Dávila
6e3358a507
Remove no longer required code. #3945
2016-01-12 17:36:08 -05:00
Rubén Dávila
f1f9b5f7d3
Small fixes from code review. #3945
2016-01-12 12:53:54 -05:00
Rubén Dávila
fed10766e5
Fix broken spec for submodule commit. #3945
2016-01-09 01:55:31 -05:00
Rubén Dávila
78d7c0e0d8
Fix broken specs. #3945
2016-01-08 19:05:55 -05:00
Rubén Dávila
6282202ee8
Remove custom Lexer. #3945 [ci skip]
...
Inline diff is going to be generated client side now. #3945
2016-01-08 15:20:48 -05:00
Rubén Dávila
21b602c60a
Change strategy to highlight diffs. #3945
...
Now we apply syntax highlighting to the whole old and new files.
This basically help us to highlight adequately multiline content.
2016-01-07 22:37:01 -05:00
Rubén Dávila
3fbcf52ec8
Apply syntax highlighting when expanding diff plus some refactor. #3945
2015-12-31 01:05:52 -05:00
Rubén Dávila
fd100e1ef1
Don't modify "match" diff lines. #3945
2015-12-30 21:44:12 -05:00
Rubén Dávila
8b079315d9
A bit of refactoring. #3945
2015-12-30 21:23:50 -05:00
Rubén Dávila
7de90f4b53
Fix broken spec and small refactor. #3945
2015-12-30 18:42:11 -05:00
Rubén Dávila
b74f36c9ca
Fix Rubocop complain. #3945
2015-12-30 13:10:28 -05:00
Rubén Dávila
bb96d63153
New implementation for highlighting diff files. #3945
...
* It is more performant given now we process all the diff file instead
of processing line by line.
* Multiline comments are highlighted correctly.
2015-12-30 00:52:50 -05:00