I find a certain aspect of GIT very confusing: the phrase “pull request”. It seems that pull is grabbing from repo, while push is re-submit changed code to the repo. But then a contribution should be named “push request”, or?
I want to be able to resubmit code, so I guess I need SSH. I haven’t written any Haiku contribution yet, but I would like to do so some day in the future. I’m planning on having a look at the automatic UEFI bootloader installer (or more precisely the current absense of such).
Can I clone without SSH and later submit with SSH?
You “pull” updated changes from other repos/branches. You “push” your changes to repos/branches.
Then you request the maintaners do a “pull” of your changes onto their repos/branches. Thus… PR = Pull request.
Other places prefer to use MR / Merge request instead, as what you want in the end is your code to be merged. But your code might get in by other means than “git merge” so… ¯\_(ツ)_/¯
Yes. You can clone in “anonymous” mode ( git clone https://review.haiku-os.org/haiku), and later on change the “git remotes”.
My first clone (with --depth=1 just to speed things up) was an anonymous one, and later on I was able to push some changesets withouth much hiccups (after setting up the correct git remotes, of course).
A “pull request” is originally when you ask (request) someone else to pull your changes into their repository or branch (to which you are not allowed to push directly).
Note that this is not a “git” name but a Github one. Gitlab says “merge request” and Gerrit (which we use) says “change request”.
Not strictly, it is also possible to generate an HTTP password from Gerrit web interface and use that. But then you have to enter the password each time you push something, while with ssh you can store the key in a file.