Possible regression regarding Maximum File Size push rule behavior
Summary
Hello,
We noticed on our invensense.githost.io instance since few days ago, a change in the behavior of the Maximum File Size push rule. It seems that up to few days ago, limitation was applied only when pushing a new file or updating a file.
Now, it looks like limitation is applied for files already in the index even if they were not affected by the revision to be pushed. This is causing some troubles for our users as they get pushes rejected that are unrelated to their change, because a file above the limitation was added before the push rule was enabled.
In order for us to take the proper corrective actions, can you confirm if this behavior will be permanent or is a regression?
Steps to reproduce
- Disable Maximum File Size limitation in Settings > Repository > Push Rules > Maximum file size
- Push a big file on repo
dd if=/dev/urandom of=big_file count=2048 bs=1024
git add big_file && git commit -a -m "adding big_file" && git push origin master
- Set Maximum File Size limitation to 1 MB
- Try pushing a new branch on the server
git checkout -b new_branch && git push origin new_branch
What is the current bug behavior?
Step 4. will fail with in above scenario with message, although the revision to push on the server is already present or not concerned by any :
Total 0 (delta 0), reused 0 (delta 0)
remote: GitLab: File "big_file" is larger than the allowed size of 1 MB
To invensense.githost.io:sweng/sandbox.git
! [remote rejected] new_branch -> new_branch (pre-receive hook declined)
error: failed to push some refs to 'git@invensense.githost.io:sweng/sandbox.git'
What is the expected correct behavior?
Before (~2weeks ago), step 4. was successful. Only new files or changes to big_file where affected by the push rule.
Customers
https://gitlab.my.salesforce.com/0016100000YTQ6w
https://gitlab.my.salesforce.com/0016100000SEjM1