10gen is hiring a lot of people straight out of college, so I thought this guide would be useful.
Basically, the idea is: you have found and fixed a bug (so you’ve cloned the mongo repository, created a branch named SERVER-1234, and committed your change on it). You’ve had your fix code-reviewed (this page is only accessible to 10gen wiki accounts). Now you’re ready to submit your change, to be used and enjoyed by millions (no pressure). But how do you get it into the main repo?
Basically, this is the idea: there’s the main MongoDB repo on Github, which you don’t have access to (yet):
However, you can make your own copy of the repo, which you do have access to:
So, you can put your change in your repo and then ask one of the developers to merge it in, using a pull request.
That’s the 1000-foot overview. Here’s how you do it, step-by-step:
- Create a Github account.
- Go to the MongoDB repository and hit the “Fork” button.
- Now, if you go to https://www.github.com/yourUsername/mongo, you’ll see that you have a copy of the repository (replace yourUsername with the username you chose in step 1). Now you have this setup:
- Add this repository as a remote locally:
$ git remote add me email@example.com:yourUsername/mongo.git
Now you have this:
- Now push your change from your local repo to your Github repo, do:
$ git push me SERVER-1234
- Now you have to make a pull request. Visit your fork on Github and click the “Pull Request” button.
- This will pull up Github’s pull request interface. Make sure you have the right branch and the right commits.
- Hit “Send pull request” and you’re done!