Trying to submit a change to gitlab.gnome.org. I have already made my changes locally and just want to submit them:.
-
Trying to submit a change to gitlab.gnome.org. I have already made my changes locally and just want to submit them:.
- I open the GitLab page and have to log in.
- Try to log in via GitHub, because I don't want to create another account
- Error: "Signing in using your GitHub account without a pre-existing GitLab account is not allowed."
- Try to log in using GitLab, because I apparently have an account?
- Error: "Your browser is out of date. Update your browser to view this site properly." (I'm using the newest major release of Firefox)
- Switch to Chromium browser with an old Google account and try to use that to log in.
- Error: "Signing in using your Google account without a pre-existing GitLab account is not allowed."
- Try to log in using GitLab in Chromium.
- Due to missing extensions I have to fill out a Cookie Form first.
- Guess my username, but have to enter a verification code sent to my Email (because Email is for notifications, what else?)
- Copy code and delete Email.
- Authorise GNOME Gitlab to use my GitLab.com account (?)
- Try to search for the project I want to contribute to via the search panel: No results.
- Find the URL some other way.
- I now have to fork the repository: The fork button is grayed out, without any indication what is wrong.
- (I have been told previously that this is because I don't have some keys uploaded). I go the the settings and try to find the SSH settings and upload a key.
- Submit fails because I need to make up some name. I write "foo".
- I can still not fork the repository.
- Go back to settings and try to add GPG key.
- Skim through the gpg(1) manual until I find the options I need to generate an armoured export of my recently generated keypair.
- I may now fork the repository.
- New page pops up and I press the big blue button. It fails because I have to choose a namespace (there is only one option, which is not pre-selected).
- I manage to fork the repository, though the process takes half a minute.
- I copy the SSH url and add it to my local git repository using
git remote add gitlab ...
. - I try to push the changes, but it wants a GitLab user name and password. I forgot to specify the remote.
- I enter
git push gitlab
and have to confirm the servers SSH fingerprint. I just accept it. - The update was rejected because the remote has been updated since the last time I tried to do this.
git pull --rebase
works butgit push
fails again.git push gitlab
ends up working.- Back in Chromium I reload the page and there is a white button to create a "merge request". I press it.
- The merge request form pops up and I have to enter a title and description.
And finally, I have managed to submit my contribution: https://gitlab.gnome.org/GNOME/libgweather/-/merge_requests/320
Now there is no way you can tell me that this is easier or more user friendly than allowing something like
git send-email -2 [email protected]
! Once again, the GitLab/Web Forge experience is really bad.(One thing I wish Git{Hub,Lab} would allow is to create a PR without having to fork, just by pushing to a repository that I don't have access to. FWIW this could require the branch to have a name like
pr/foo
.) -
Gergely Nagy 🐁replied to Philip Kaludercic last edited by
@pkal Won't really help in your (or GNOME's case), but... I just wanted to highlight that there are forges that allow you to submit PRs without forking (apart from SourceHut): Forgejo supports the AGit workflow, which lets you clone a repo, and push to a carefully named ref (
git push codeberg HEAD:refs/for/<branch-you-want-to-merge-to>/<your-topic-branch>
).Still need an account on the forge itself, mind you. At least until full forge federation is implemented - but that's gonna be a while.