Fedora use dist-git as the ultimate source for SPEC files.

In Copr, we use dist-git to store sources as well. However, our use case is different. In the past, Copr only allowed to build from URL. You provided a URL to your SRC.RPM and Copr downloaded it and built it. This was a problem when the user wanted to resubmit the build. The original URL very often did not exists anymore. Therefore we came with an idea to store the SRC.RPM somewhere. And obviously, the dist-git was the first idea.

Though there is a big difference between Fedora’s dist-git and Copr’s dist-git. In Fedora, only the owner interacts with dist-git. He maintains the branches, addresses pull requests, resolves conflicts, etc. In Copr, it is different. The biggest user of Copr’s dist-git is Copr itself. Copr uploads new SRC.RPM - either those available from URL, or uploaded via API, or after creating the SRC.RPM from upstream git. While you can clone the dist-git, or see it via cgit, you are not allowed to write to your dist-git. It is internal storage for Copr.

This has one implication: if you want to send maintainer a patch for his SPEC file, please do not use the SPEC file from Copr’s dist git. The spec file is not the original source (for the maintainer of the project). It can be created on the fly - e.g. using pyp2rpm or gem2spec. You should always contact the owner of the project and ask him, what is his preferred way to contribute to the project.