I'm just going to describe the steps to reproduce as far as I can remember.
- Create a new repository
- Add a person to the repository (write access), lets call him Ivan
- Create a new team
- Add Ivan to the team
- Transfer the repository ownership to the team
- At this point in the team members management Ivan has access to the repositories because he is in the team Developers which has write access to the team repos. So I decided to remove his "Direct access" permission so I don't have duplication.
Soon after that, Ivan can't push to the repository anymore, altough he should still have access right because he is in the team.
I fixed this by going to the repository page and explicitly adding the group Developers to the repo with write access.
Note: Steps 4 and 5 may have been reversed - I can't remember anymore.
Feel free to contact me if you need further details.