summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2018-09-04 13:28:00 -0300
committerOswaldo Ferreira <oswaldo@gitlab.com>2018-09-04 13:28:00 -0300
commit0aee3755378e9558ff2b1290f4c39bfbfb14f282 (patch)
treefbf6827d4abf2779d15fae99fa33ea810044d1c7 /doc
parentd73541d006ce3d0261cf082dac5ae605dfe7a848 (diff)
downloadgitlab-ce-0aee3755378e9558ff2b1290f4c39bfbfb14f282.tar.gz
Add notes to diff docs regarding limits
Diffstat (limited to 'doc')
-rw-r--r--doc/development/diffs.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/doc/development/diffs.md b/doc/development/diffs.md
index d06339480b1..725507b7ef6 100644
--- a/doc/development/diffs.md
+++ b/doc/development/diffs.md
@@ -95,6 +95,8 @@ Gitlab::Git::DiffCollection.collection_limits[:max_bytes] = Gitlab::Git::DiffCol
No more files will be rendered at all if 5 megabytes have already been rendered.
+*Note:* All collection limit parameters are currently sent and applied on Gitaly. That is, once the limit is surpassed,
+Gitaly will only return the safe amount of data to be persisted on `merge_request_diff_files`.
### Individual diff file limits
@@ -106,12 +108,17 @@ Gitlab::Git::Diff::COLLAPSE_LIMIT = 10.kilobytes
File diff will be collapsed (but be expandable) if it is larger than 10 kilobytes.
+*Note:* Although this nomenclature (Collapsing) is also used on Gitaly, this limit is only used on GitLab (hardcoded - not sent to Gitaly).
+Gitaly will only return `Diff.Collapsed` (RPC) when surpassing collection limits.
+
```ruby
Gitlab::Git::Diff::SIZE_LIMIT = 100.kilobytes
```
File diff will not be rendered if it's larger than 100 kilobytes.
+*Note:* This limit is currently hardcoded and applied on Gitaly and the RPC returns `Diff.TooLarge` when this limit is surpassed.
+Although we're still also applying it on GitLab, we should remove the redundancy from GitLab once we're confident with the Gitaly integration.
```ruby
Commit::DIFF_SAFE_LINES = Gitlab::Git::DiffCollection::DEFAULT_LIMITS[:max_lines] = 5000
@@ -119,6 +126,8 @@ Commit::DIFF_SAFE_LINES = Gitlab::Git::DiffCollection::DEFAULT_LIMITS[:max_lines
File diff will be suppressed (technically different from collapsed, but behaves the same, and is expandable) if it has more than 5000 lines.
+*Note:* This limit is currently hardcoded and only applied on GitLab.
+
## Viewers
Diff Viewers, which can be found on `models/diff_viewer/*` are classes used to map metadata about each type of Diff File. It has information