Looking at the docs here: https://docs.gitlab.com/ee/api/repository_files.html#update-existing-file-in-repository
I was surprised to see unlike GitHub and Bitbucket you can update a file without passing a SHA (in fact it does not accept a SHA). This means we can’t safely fetch file contents, make edits, and then update the file. If an update has happened in the mean time the SHA protects us from accidentally overwriting work.
Is there a more sophisticated API to use which doesn’t involve an entire git checkout? It’s a shame because that endpoint is surely easier than alternatives.