Remove limit on status output #19583
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #15586
Closes #9049
Closes #6230
Description
Thanks to a slew of updates to dugite and desktop we're able to lift the limit on Git status output from 20Mb to essentially unrestricted (i.e. governed by available memory).
V8 has a string size limitation of 500Mb but even if it was possible to hit that with a status output we're leveraging the new encoding support in dugite to read the status output as a buffer. This isn't intended to allow for ~.5Gb status output (that experience would be unbearable in Desktop) but rather to ensure we're not retaining a large string unnecessarily by creating a bunch of substrings pinning the large string to their lifetime.
Screenshots
Release notes
Notes: