Do not decorate the CLI output if it's explicitly turned off #31877
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.
Fixes #29023
If you look at https://github.com/nextcloud/3rdparty/blob/fd0d5d72f48315cc4f51342dc2d9e82d1dafe0e8/symfony/console/Helper/ProgressBar.php#L496-L497 then you see that it uses the formatter to figure out how "long" the progress character is. In our verbose upgrade procedure this gives a wrong result because our formatter prepends the character with a timestamp and that screws up the length calculation. In the end we get something like
-2
or worse forstr_repeat
's$times
argument.This patch turns off the prepended timestamp if decoration is off. So at https://github.com/nextcloud/3rdparty/blob/fd0d5d72f48315cc4f51342dc2d9e82d1dafe0e8/symfony/console/Helper/Helper.php#L133-L138 it only gives the raw message and nothing more.
This comes with a small downside that the output is not prepended with a timestamp for progress bar lines. IMO that's an acceptable trade-off.
Example
How to test
occ maintenance:repair
On master: 💥
Here: ⛵