I have very similar issue and still can’t understand why it doesn’t work as simple as in GitHub.
What I already have/did:
- I’ve my Fedora account
- I’ve Fedora Project Contributor Agreement already signed
- I’ve my ssh-ed25519 key generated and its public part copied into my Fedora account.
- I’ve forked the project that I want to contribute into in the src.fedoraproject.org
- I cloned the same project locally from its original remote, made my branch based on
f43 one and committed with my changes into it.
- I’ve added an additional remote and tried to push but it failed.
$ git remote -v
origin https://src.fedoraproject.org/rpms/cinnamon.git (fetch)
origin https://src.fedoraproject.org/rpms/cinnamon.git (push)
rosti ssh://rosti@pkgs.fedoraproject.org/forks/rosti/rpms/cinnamon.git (fetch)
rosti ssh://rosti@pkgs.fedoraproject.org/forks/rosti/rpms/cinnamon.git (push)
And this is according to the Pull Request Guide.
Although it passes the authentication it doesn’t work:
$ git push --set-upstream rosti 6.4.13-1.fc43
Connection closed by 38.145.32.17 port 22
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
The same error if I try to clone using the same ssh URL inside an empty directory:
$ git clone ssh://rosti@pkgs.fedoraproject.org/forks/rosti/rpms/cinnamon.git
Cloning into 'cinnamon'...
Connection closed by 38.145.32.17 port 22
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
How I know it passes the authentication stage? From following two commands:
$ ssh rosti@pkgs.fedoraproject.org
Connection closed by 38.145.32.17 port 22
$ ssh notme@pkgs.fedoraproject.org
notme@pkgs.fedoraproject.org: Permission denied (publickey).
The same Permission denied (publickey) error is shown when I change my user id inside the ssh url and try either clone or push from the above.
I found that fedpkg support push operation as well but actually it just calls git for doing that. And the Pull Request Guide mentioned above also tells that I can just use git directly to do such a push. Also installing the fedpkg package brings 134 addition dependencies packages, so I didn’t try it yet. There is also fedpkg-minimal package that doesn’t have any dependency and I tried it but it just doesn’t do anything during fedpkg push command and ends silently.
I’ve found another possibility - I can do Remote Pull Request in the original repo and just push my work to GitHub, GitLab or any other external Git repo. I didn’t try it yet but it looks like it will work. However what is the logic of doing it that way? I mean if Fedora Project already granted me an access to its Git repo and allowed me to fork sources of one of the RPM packages inside that repo why I can’t use that repo to push my branch and make a Pull Request without any 3d party resource?
Tricky way of adding an ssh key, no way of pushing/cloning anything to/from user’s fork Git repo. All this looks like Fedora Project reinvented the wheel and “improved” its shape to be square or even triangle. Why Fedora did it so hard and unhandy?