7. Deprecate raw git commands in gitserver
It was common in the past to treat gitserver as a simple wrapper around git where users could send any combination of git arguments.
This made it difficult to provide a consistent API to users of gitserver as well as making it difficult to apply certain security checks and filtering.
It should no longer be possible to send "raw" commands to gitserver. All communication should be done via the gitserver client which ensures there is a single entrypoint making it easier to audit and maintain.
When new functionality is required, it should be added to the gitserver client interface or existing methods should be updated.
Currently, the interface is pretty large but we have plans to clean it up over time.