tree 262ba63be080a77f3541d27ff77227f9a89e3d10
parent 85610b43e365ae09974cbf6ebce265aca0dd1867
author Antonio Barone <syntonyze@gmail.com> 1758107313 +0200
committer Antonio Barone <syntonyze@gmail.com> 1758114696 +0200

Fix dry-run to return OK when quota is available

The dry-run path in MaxRepositorySizeQuota erroneously reported ERROR
even when the requested size was within the remaining repository-size
quota. Change Ibb4d282ebb introduced the method with a misplaced return,
so successful checks fell through to the final error response.

This change moves the `ok()` return to the correct scope, ensuring the
method:
- returns OK when the requested size is ≤ the available quota,
- returns ERROR when the request exceeds the limit, and
- returns NO_OP when repository-size quota is not enforced.

Bug: Issue 445458888
Change-Id: I949fe894fa719b30d0632f542829916f4dc8c726
