github pull request

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

ruffrecords

Well-known member
Joined
Nov 10, 2006
Messages
16,266
Location
Norfolk - UK
I need to make a pull request to a github repository but I cannot for the life of me work out how to do it. I have read several how-to's but they all assume a certain level of knowledge I just don't have. Can anyone walk me through the process step by step please?

Cheers

ian
 
From where? Github? The first time you 'clone' like:

$ cd gittest $ git clone https://github.com/some-coder-name/awesome-proj

Then you 'pull' to get updates.

Tell us more about what you're doing. You use Linux right?
 
Tell us more about what you're doing. You use Linux right?
I am trying to get the Kicad forum that I moderate to be listed on the official Kicad web site. If you go here : Forums you will see that the instructions for getting your forum listed are "Submit a pull-request to the kicad website repository as long as you meet the following conditions"

Why I cannot just email them I don't kn ow.

Cheers

Ian
 
I am trying to get the Kicad forum that I moderate to be listed on the official Kicad web site. If you go here : Forums you will see that the instructions for getting your forum listed are "Submit a pull-request to the kicad website repository as long as you meet the following conditions"

This is not typical git stuff. I think what that means is that there is some way to submit details to the kicad folks about what they can pull from your repo. Then someone decides to merge your stuff or not. I recommend that you find the appropriate meta forum on gitlab or within the kicad forums to ask about specifics of that process.
 
This is not typical git stuff. I think what that means is that there is some way to submit details to the kicad folks about what they can pull from your repo.

What they are saying is clone the repo that has the web page, modify the web page with the info you want, then submit a pull request so they can merge your changes back into the web site repo. Kind of a painful way to do it for you if you just want to add one link, but simplifies some things for the site admins.
 
What they are saying is clone the repo that has the web page, modify the web page with the info you want, then submit a pull request so they can merge your changes back into the web site repo. Kind of a painful way to do it for you if you just want to add one link, but simplifies some things for the site admins.

Yeah, that makes perfect sense. But I don't think it's painful. It makes sense to just let someone apply edits and then some authority approves or not. Just like any code.

The unknown part is how to "Submit a pull-request". I think they must mean a merge request.
 
I think they must mean a merge request.
"Merge request" must be something GitLab came up with to make it more obvious to people coming from different revision control systems, I've never heard it called anything other than "pull request" when using git. Basically you are asking someone to pull the version you have.

What the difference between pull request and merge request?
“. . . GitHub and Bitbucket choose the name “pull request” because the first manual action is to pull the feature branch. Tools such as GitLab and others choose the name “merge request” because the final action is to merge the feature branch.”
 
"Merge request" must be something GitLab came up with to make it more obvious to people coming from different revision control systems, I've never heard it called anything other than "pull request" when using git.

I think this "{pull,merge} request" stuff is separate site specific functionality. The git command, like you might use on the commandlline, has "pull" and "merge" commands that are not really applicable to what is being described on the page you site. There is some overloading of terms going on. I just think that's worth mentioning.
 
"pull" and "merge" commands that are not really applicable to what is being described on the page you site.
Do you mean the page that ruffrecords cited? Because that is exactly what is being requested on that site, they want you to clone the repository that contains the html code for the web site, make your modifications, then send a pull request to the maintainers so they will pull your changes, then merge those into the original repository.

[edit] Although it looks like the page that ruffrecords linked is out of date, on the "contributing to KiCAD" page there is this note:

Submitting the code​

All patches should be submitted as a merge request on GitLab. See this How to create a merge request for new users on how.
Note: There is a GitHub mirror of KiCad but all pull requests are ignored, we only accept changes on GitLab

In case that copy and paste didn't catch the link, this is the how-to link referenced:
GitLab how-to for merge requests

Personally, I would just ask really nicely and hope someone helps out, that seems like a lot of trouble to get one link added if you aren't a software developer who works with git all the time already.
 
I am glad it is not just me who is confused about the obfuscated method of asking to be added to the web site. So if I understand correctly I need to:

1. Clone the entire github repository of Kicad.

2. In that repository find the web page that will show the entry I want.

3. Modify the web page to show the entry

4. Submit a pull request which say please include these mods

I thought of just contacting them and asking but there I can find no way to do this unless via paid for support!!

Cheers

Ian
 
Hopefully this helps:

1) You 'clone' the repository so you get all the files, and more importantly, you get the complete history of the project (and all of its development branches) along with it. You can place the project back to any prior state all the way back to the beginning.

2) You make a change to the project, and then commit your change. A commit is a description of what you changed, along with any text description you care to add to describe what/why you did what you did.

3) A 'pull request' is a way of sharing your commit with others. It lets them a) see what you did, and b) temporarily merge your change into their own local copy of the project (combining with any changes they have in flight but aren't yet part of the 'official' branch of the repository). Then anyone can comment / suggest changes / freely complain without disturbing anyones lines of development.

4) If the maintainers agree with what you've done, they can merge the change into the repository so it's then available to anyone who subsequently clones/syncs their local copy. I think in GitHub, the pull request results in a 'git merge' once accepted by the maintainers.

It's just like providing feedback on a book: you buy ('clone') your own copy (or an editor sends you a copy), you mark it up with a pen correcting spelling, punctuation, or content ('commit'), then you send the marked up book back to the editor ('pull request'). If the editor agrees with you, they change the master version of the book with your edits ('merge'), and then the whole process can begin again with a new version of the book that everyone has agreed is correct (at least up to that point).

These are GitHub terms: pure git uses 'commit' to describe a change, a 'pull' allows you to retrieve all of the changes and branches from a remote repository to 'sync' your local copy (in other words, it 'fetches' and 'merges'), and a 'push' allows you to send your changes from your local repository to a remote.
 
then send a pull request to the maintainers so they will pull your changes, then merge those into the original repository.

The command '$ git pull' does not "submit a pull request". It fetches and merges the latest changes from the repo. So I'm just saying there are different meanings to these things. That could be confusing. Not that I think anyone is confused. I'm just saying for posterity that there is some overloading of terminology going on.
 
1. Clone the entire github repository of Kicad.
Probably just the web site repository, not the entire project. I don't follow the project development, so I don't know how the repository or repositories are organized, but that is what would make sense to me.
 
The command '$ git pull' does not "submit a pull request".
Correct, "git pull" pulls from a repository, a pull request is something you send to someone else which requests them to pull from your repository. Think of pull request as requesting someone else to run "git pull."
 
Back
Top