CONNECT uses GitHub as its source code repository. A great benefit of GitHub is that it fully supports community members' ability to fork the CONNECT code base for their own uses, and to easily contribute code back into the source. This document discusses how to use GitHub to contribute code to CONNECT.
We are using a Fork + Pull Model for code contributions from the community. Anyone is allowed to pull from the CONNECT repository. But in order to contribute you must create a fork of the CONNECT code and push your changes there before initiating a pull request. This we believe is the lowest entry level of accepting contributions. This page will take you through the steps to setup a forked repository inorder to contribute code. This guide assumes you already have a github account (sign up) and have setup git (See this page for instructions on setting up Git and GitHub for Linux, Mac, and Windows: https://help.github.com/articles/set-up-git#platform-all ).
Initializing your git repository
clone the CONNECT-solution/CONNECT project.
To fork CONNECT-solution/CONNECT project you choose the fork button.
And then confirm that you really want to do this.
You will end up with a fork of CONNECT-solution/CONNECT project project. In the yellow box is the git-url for the fork you just created.
In this example it is: firstname.lastname@example.org:bhumphrey/CONNECT.git.
add remote to fork
Next you need to add this fork as a new remote.
In this example I am adding a remote named bhumphrey pointing to the git url of the forked CONNECT-Solution/CONNECT project. Both the git-url and the name of the remote will be different in your usage.
So you have your changes complete. Time to contribute. Push your changes from your branch to your fork, in this example the branch is named newTopic and remote for the fork is bhumphrey.
Now you create a pull-request. (see github's help guide for a detailed explantation on this process. Send Pull Request). Please be detailed in the comments section. If you are contributing a fix to specific JIRA issues please list it here. We will use the discussion feature of github to review and communicate regarding the contributed code.