I'm not sure the design intent here, but if I clone the tickets/issues git repo for my project, pagure will allow me to push back to it.
If I do push changes (I tried pushing a simple title change). The system does not appear to notice the change. If I later update that same ticket the change I pushed earlier is reverted.
I suspect that you just want to block pushes for this repo since it seems to be a nonprimary data store. On the other hand, maybe this could be a useful interface for external tools.
Also, it seems to allow non-fastforward pushes, which is definitely wrong.
Regarding the fact that it does update the UI, there is a setting to turn on, otherwise the hook that updates the DB doesn't get installed.
Agreed on this, tickets and requests should likely block non-fastforward
As far as i can understand:
To update the DB by pushing to the ticket or the requests repo, you need to activate the corresponding git hook which is in the settings page of the project.
AFAIK, these hooks work.
The issue at hand is clearly that these two git repos should not allow non-fastforward pushes. So it's something to fix at the git config level when creating the repos.
Denying non-fastforward pushes to the tickets and requests repos has been fixed in: https://pagure.io/pagure/pull-request/551