My workspace went into read-only mode after exceeding the 1GB free plan limit, caused by a large batch of animation assets (~16GB) that got committed by mistake.
Steps I've taken so far:
- Used
git filter-repo to strip the large asset folder from every commit in history on the affected branch. - Verified locally that the rewritten history is clean — confirmed via
git log that all other commits and their content are intact, and that the large files no longer appear anywhere in history. - Reset the branch back to the last shared commit with the remote (the point just before the large files were originally added), keeping a separate local branch as a backup with the full, cleaned history restored on top.
- Force-pushed the reset branch to the remote.
The push still gets rejected by the pre-receive hook with "This workspace is over the 1 GB size limit," even though:
- The object transfer itself completes successfully (
Writing objects: 100%, all deltas resolved). - The branch being pushed is now tiny — just a handful of small commits, with the large files removed.
It seems like the ref update itself is being declined before it can take effect, so the branch pointer on the remote never actually moves, and no cleanup/garbage collection gets triggered as a result — meaning I can't get out of read-only mode through any push, regardless of size.
I'm on the Free plan, so I don't have access to a private support ticket — if anyone in the community has run into this and knows another way to get unblocked from my side, I'd really appreciate the pointer. And if anyone from Bitbucket support happens to see this and is able to run a manual garbage collection on my workspace, that would fix it directly. Happy to provide the workspace name via DM/private message if that's easier than posting it here.
Thanks!