Using the Github UI to Make Pull Requests
This article helps you understanding and creating Pull Requests on Github, so you can contribute to a project like Joomla!.
What is a Pull Request?
A Pull Request is a request to pull some code to a repository (project) on GitHub.
In basic language you are asking if some code changes/additions you made can be used in the project. This changes can be the solution for a bug or a new feature. Github has a simple web interface that makes it very easy to propose a simple change to code. You don't need to install any software or do anything beside register for a git hub account.
Identify the change you like to made
First of all, map what changes you like to made.
For example, we like to add an icon for at the article info block, before the authors name. On the moment of writing, this icon is not displayed yet.
Find the file you want to modify on Github
If you don't have a GitHub account yet, sign up on GitHub. It is free and very easy to do. After that, go to the Joomla! CMS repository and find the file you like to edit. You can navigate through by clicking on the folder and file name.
This can be a hard step sometimes, because Joomla! counts more than 6000 files. In our example we have to edit the following file: /layouts/joomla/content/info_block/author.php.
Make your changes
Navigate to the file, and edit the file by clicking on the pencil icon on the right.
In our example, we add the following code to line 14 of the file: autor.php
Note: you may have noticed the blue message above the page. This message is telling you that GitHub made a copy of the project for you, where you can make changes. This copy is called a Fork. The changes you made in this copy can be used in the original project. If you like to read more about how GitHub works, you can read this article for some background information.
Add a title and description
Below the editor, we can specify our Pull Request by adding a title and a description.
The title has to be short, and must tell what this pull request does.
The description contains more detailed information about the Pull request and some information how to test it. Make this information so complete and clear as possible. When you made a Pull Request of an issue on GitHub, it is very common to add also the issue ID in the description. You can do this by typing a # (hash tag) with directly following the issue ID. You can find this ID directly after the title of the issue, in the same notation.
Send the Pull Request
Click on the button "Propose file changes" and after that on the button "Create Pull Request". Your pull request is made now!
The only thing you have to do now is wait until someone will test this PR. When someone comments, you will be notified via an email. It can happen that someone requests addition information, so try to stay up-to-date with you Pull Request.
If a Pull Request is successfully tested twice, a moderator will add the label 'RTC' to it. RTC means: Ready To Commit'. In basic language it tells someone who has commit rights: This Pull request is successfully tested, and can be added to Joomla!. The admin will add (Merge) the project to the Joomla! CMS github repository. Your Pull Request is definitive now, and will be present in the next version of Joomla! if it was about fixing a bug or in the next minor version if the PR was about a new feature.